C#通过Oracle.ManagedDataAccess无法访问Oralce

问题描述:
通过C#引用Oracle.ManagedDataAccess.dll访问Oracle,写了如下一段代码,在本机能正常访问,但是将编译后的exe放到服务器上面就无法访问了,一直提示登录失败。
而服务器上面的pl/sql却能够正常访问数据库。

static void Main(string[] args)
{
    string connStr=string.Empty;
    try
    {
        connStr = string.Format(@"User Id={3};Password={4};  Data Source=(description=(address_list = (address = (HOST = {0})(PROTOCOL = TCP)(PORT= {1})))(connect_data=(service_name={2})));", "172.23.11.152", "1521", "orcl", "system", "oracle123");
        using (OracleConnection conn = new OracleConnection(connStr))
        {
            OracleCommand comm = new OracleCommand("select count(1) from wifi.site_info", conn);
            conn.Open();
            object a = comm.ExecuteScalar();
            conn.Close();

            Console.WriteLine(a);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
        Console.WriteLine("连接字符串:" + connStr);
    }

    Console.Read();
}

解决:
经过多方面查找资料,最后在一篇英文网站上面提到是FIPS加密的原因导致,至于如何解决,网上给到的答案大多就是将FIPS关闭了。关闭方法如下:
1.输入regedit打开系统注册表
2.找到路径 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
3.查看右边的FIPSAlgorithmPolicy属性修改为0
4.找到路径 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy\
5.查看右边的Enabled修改为0 即可。

时间: 2024-08-25 00:25:49

C#通过Oracle.ManagedDataAccess无法访问Oralce的相关文章

DbProviderFactories.GetFactory Oracle.ManagedDataAccess.Client

因为最近项目,要使用微软的EF框架不安装Oracle客户端的情况下,访问Oracle数据库.调用如下代码的时候会报错. System.Data.Common.DbProviderFactories.GetFactory("Oracle.ManagedDataAccess.Client") 解决办法: 1.引用Oracle的:Oracle.ManagedDataAccess.dll 2.在APP.Config里面添加如下内容: <configuration> <syst

Oracle.ManagedDataAccess.dll

C#使用Oracle.ManagedDataAccess.dll 在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了.在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用这个的时候visual studio提醒过时的,但在那时却是非常好用的. 为什么现在visual studio中这个程序集依然能使用,有ODP.NET,单单要拿出Oracle.ManagedD

C#使用Oracle.ManagedDataAccess.dll

在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了.在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用这个的时候visual studio提醒过时的,但在那时却是非常好用的. 为什么现在visual studio中这个程序集依然能使用,有ODP.NET,单单要拿出Oracle.ManagedDataAccess.dll进行本文的重点呢? 1.visual s

Oracle Gateways透明网关访问SQL Server

自己的本机安装了Oracle 12c,公司的平台需要同时支持Oracle与SQL Server,很多时候都有将数据从Oracle同步到SQL Server的需求.通过SQL Server的link Server可以达到目的,但是因为SQL Server都是64位版本,试过很多次都失败了.再安装32位SQL Server也懒得折腾.因Oracle是12c, 安装的Gateways也是12c.尝试过在Oracle数据库服务器(本机)安装11g的gateways, 但是配置都失败了.    Oracl

连接Oracle与Hadoop(4) Oracle使用OSCH访问Hive表

OSCH是Oracle SQL Connector for Hadoop的缩写,Oracle出品的大数据连接器的一个组件 本文介绍的就是如何使用OSCH从Oracle数据库直接访问Hive表 前提1:在Oracle数据库端,部署好HDFS客户端与OSCH软件,设置好环境变量 #JAVA export JAVA_HOME=/home/oracle/jdk1.8.0_65   #Hadoop export HADOOP_USER_NAME=hadoop export HADOOP_HOME=/hom

FSharp 调用 Oracle.ManagedDataAccess.dll

Oracle.ManagedDataAccess.dll 即使是 64 位系统,也要注册 32 位版本. #if INTERACTIVE #[email protected]"C:\oracle\odp.net\managed\common\Oracle.ManagedDataAccess.dll" #endif openOracle.ManagedDataAccess.Client openOracle.ManagedDataAccess.Types open System.Data

2.oracle 12c 创建-访问-关闭-删除PDB

1.创建PDB SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ora12c/system01.dbf /u01/app/oracle/oradata/ora12c/pdbseed/system01.dbf /u01/app/oracle/oradata/or

ORACLE官方全托管驱动 Oracle.ManagedDataAccess 12.1.0.1.0

以前用Oracle的时候,必须得装他臃肿的客户端,网上虽然也有提供直连Oracle的驱动,但也是要收费的,最近Oracle终于开窍了,提供了官方的全托管驱动. 这次是随Oracle ODAC 12c 发布包中包含的oracle全托管驱动,之前Oracle已经发布了两个Beta版本的全托管驱动,但在测试中确实也发现了一些问题,这次发布的12.1.0.1.0 貌似已经是Release正式版了,经过简单的测试,上一个版本我所碰到的Bug已经被修复,目前未发现有什么新的问题,推荐大家使用. 下载地址:h

Oracle EM 不能访问

zwt2001267 原文 Oracle EM 不能访问 1. cmd控制启动EM: C:\Users\Administrator>emctl start dbconsoleEnvironment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name. C:\Users\Administrator>set oracle_unqname=ORCL(数据库实例名) C:\User