我最近有一台新机正在运行,从XP 32 Bits转移到Vista 64 Bits。
无论我做什么,我都无法将我的.Net项目连接到oracle服务器......我可以使用oracle sqldeveloper连接到数据库,但不能从我的项目中连接...
我收到此错误(令我感到困惑的是......)
“建立与服务器的连接时发生错误。连接到SQL Server时,此错误可能是由于在默认设置下SQL Server不允许远程连接这一事实。(提供程序:SQL网络接口,错误:26 - 找到指定的服务器/实例时出错“”
我的第一个WTF是“SQL Server”部分,因为我的整个项目保持不变,我根本不使用SQL Server(在这个项目中)......
我的连接字符串如下:
<add name="DefaultDb" providerName="System.Data.OracleClient" connectionString="Data Source=ora11dev;User Id=user;Password=pass;Integrated Security=no;"/>
我已经为.net重新安装了oracle客户端和oracle连接工具,但我的问题仍然存在......
任何人都可以指出我可能遗失的东西吗?
编辑:
当我打开连接时出现此错误: ORA-12154:TNS:无法解析指定的连接标识符
我的tnsnames.ora正确...
答案 0 :(得分:4)
尝试将环境变量TNS_ADMIN设置为指向tnsnames.ora文件所在的目录。这将告诉您,如果您的客户端找到正确的Ora网络文件有问题。
编辑: visual studio的路径名是什么?是否有parens,例如“C:\ Program Files(x86)\ Microsoft Visual Studio \”?如果是这样,则会出现此方案中已知的已知错误。修复程序是安装修补程序,或者在路径中没有parens的位置重新安装Visual Studio。
答案 1 :(得分:2)
我会确定:
然后我会确保您为所有Oracle工具(客户端和ODAC)使用64位客户端。最后,如果您有多个Oracle Homes,请确保安装的最后一个配置为允许连接。我相信,ODAC使用上次安装的Oracle Home来获取其配置数据。
另外,我听说11g客户端连接到10g实例有问题,但我个人从未见过这样的问题。
我的猜测是Visual Studio中正在做某事的配置设置,或者某些防火墙规则不允许Visual Studio进行通信。但这些只是疯狂的猜测。
底线是,如果#1和#2成功,很可能是在Visual Studio设置中。
答案 2 :(得分:0)
我想我刚刚发现了我的问题......
看起来oracle在使用oracle的应用程序路径中的括号有问题...这解释了为什么Visual Studio不会访问Oracle:“C:\ Program Files (x86) \ Visual Studio。 ..“