原文转自:https://www.cnblogs.com/duanjt/p/6955173.html问题描述:通过C#引用Oracle.ManagedDataAccess.dll访问Oracle,写了如下一段代码,在本机能正常访问,但是将编译后的exe放到服务器上面就无法访问了,一直...
![](https://oss.womengda.net/imgfile/2310/1ER2HN1c10-1Y23.jpg)
原文转自:https://www.cnblogs.com/duanjt/p/6955173.html
问题描述:
通过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 即可。
本文标题为:C#通过Oracle.ManagedDataAccess无法访问Oralce (转)
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
- C#读取XML的三种实现方式 2022-10-27
- C#线程委托BeginInvoke与EndInvoke的用法 2023-06-21
- C#在foreach遍历删除集合中元素的三种实现方法 2023-02-03
- .net core系列之《将.net core应用部署到Ubuntu》 2023-09-28
- C#记一次http协议multipart/form-data的boundary问题 2023-06-14
- C# Record构造函数的行为更改详解 2023-04-28
- 带有Windows窗体应用程序的C#套接字服务器 2023-09-18
- Unity幸运转盘实战项目 2023-01-22
- CentOS8.1 部署.net core 3.1 环境,涉及 aspnetcore-runtime、防火墙、selinux设置、nginx 2023-09-26
- c# 闭包的相关知识以及需要注意的地方 2023-02-26