C#通过Oracle.ManagedDataAccess无法访问Oralce
2017-06-07 08:47
281 查看
问题描述:
通过C#引用Oracle.ManagedDataAccess.dll访问Oracle,写了如下一段代码,在本机能正常访问,但是将编译后的exe放到服务器上面就无法访问了,一直提示登录失败。
而服务器上面的pl/sql却能够正常访问数据库。
View Code
解决:
经过多方面查找资料,最后在一篇英文网站上面提到是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 即可。
通过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(); }
View Code
解决:
经过多方面查找资料,最后在一篇英文网站上面提到是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 即可。
相关文章推荐
- c#通过Oracle.DataAccess访问Oracle数据库的性能及访问方式小结
- 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
- Oracle.DataAccess.Client.OracleException ORA-00600: 内部错误代码,通过C#执行上面存储过程报错,而通过PLSQL执行不报错。谁知道原因。
- 无法读取配置节“oracle.manageddataaccess.client”,因为它缺少节声明
- C#里使用Oracle提供的Oracle.DataAccess 返回包里的记录集游标,含Oralce里的分页包代码
- 【转】使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
- C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll
- 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
- C#使用Oracle.ManagedDataAccess.dll
- 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题
- C#连接Oracle数据库(直接引用dll使用-Oracle.ManagedDataAccess.dll)
- Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端
- Oracle.ManagedDataAccess.Client注意事项
- C#通过ODAC访问Oracle12c
- Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端
- PowerShell 调用 Oracle.ManagedDataAccess.dll
- FSharp 调用 Oracle.ManagedDataAccess.dll
- VS报错:Oracle.ManagedDataAccess.Client.OracleException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- Oracle无法通过同义词访问远端分区表的某个分区
- Oracle.ManagedDataAccess.dll