从Windows 7上的.net应用程序连接到oracle数据库时出错

从Windows 7上的.net应用程序连接到oracle数据库时出错,.net,winforms,oracle,windows-7,.net,Winforms,Oracle,Windows 7,当.Net winforms应用程序尝试连接到64位Windows 7计算机上的Oracle数据库时,我遇到此错误。我使用System.Data.OracleClient.dll作为提供程序 OCIEnvCreate失败,返回代码为-1,但未显示错误消息文本 可用 我能够在这台机器上使用udl文件和SQL Plus实用程序连接到同一个数据库 在我的Windows7机器上,ORACLE_主目录也正确地指向环境变量和注册表中的32位客户机,但仍然收到相同的错误 此外,即使没有这些环境变量,我也可以从

当.Net winforms应用程序尝试连接到64位Windows 7计算机上的Oracle数据库时,我遇到此错误。我使用System.Data.OracleClient.dll作为提供程序

OCIEnvCreate失败,返回代码为-1,但未显示错误消息文本 可用

我能够在这台机器上使用udl文件和SQL Plus实用程序连接到同一个数据库

在我的Windows7机器上,ORACLE_主目录也正确地指向环境变量和注册表中的32位客户机,但仍然收到相同的错误

此外,即使没有这些环境变量,我也可以从Windows XP计算机上的.Net应用程序连接到此数据库

你能给我个建议吗


感谢阅读。

出现此异常的最常见原因是您的ORACLE\u HOME设置不正确或指向32位1,请参阅:


出现此异常的最常见原因是ORACLE_HOME设置不正确或指向32位,请参阅:


从您的问题中,了解您的设置(如VS2010/2008等)可能很有用。? 这是最近的问题还是新机器的制造

您是否安装了单个oracle客户端,即哪个版本,或者您正在尝试使用即时客户端?您以前是否安装了可能导致混淆的旧版本

System.Data.OracleClient现已贬值,建议直接从Oracle更换ODP.NET Oracle.DataAccess

我有一台windows 7开发机器,带有VS2010+ODP.NET 11.2 ODAC,带有一个11.1 32位客户端和一个64位客户端,不确定我是否需要这个

您的解决方案是生成的,还是在使用gui或运行时收到此错误消息? 您是否能够使用VS中的服务器资源管理器进行连接? 您是否有一个使用oracle的.net应用程序可以在您的计算机上运行并进行测试

您还可以在环境中设置TNS_ADMIN路径

检查是否设置了路径,例如C:\Oracle\product\11.1.0\client32\bin,尝试将其添加到路径环境的开头

您的应用程序是否在其他帐户下运行


很可能是Antonio建议的客户端配置问题。

从您的问题中,了解您的设置(如VS2010/2008等)可能会很有用。? 这是最近的问题还是新机器的制造

您是否安装了单个oracle客户端,即哪个版本,或者您正在尝试使用即时客户端?您以前是否安装了可能导致混淆的旧版本

System.Data.OracleClient现已贬值,建议直接从Oracle更换ODP.NET Oracle.DataAccess

我有一台windows 7开发机器,带有VS2010+ODP.NET 11.2 ODAC,带有一个11.1 32位客户端和一个64位客户端,不确定我是否需要这个

您的解决方案是生成的,还是在使用gui或运行时收到此错误消息? 您是否能够使用VS中的服务器资源管理器进行连接? 您是否有一个使用oracle的.net应用程序可以在您的计算机上运行并进行测试

您还可以在环境中设置TNS_ADMIN路径

检查是否设置了路径,例如C:\Oracle\product\11.1.0\client32\bin,尝试将其添加到路径环境的开头

您的应用程序是否在其他帐户下运行


很可能是Antonio建议的客户端配置问题。

您使用什么连接?ODP.NET,ODBC?我使用System.Data.OracleClient.dll连接到Oracle db。您使用的是什么版本的.NET framework?System.Data.OracleClient从.NET 4.0开始就不推荐使用,Microsoft建议现在使用适用于Oracle的ADO.NET提供程序。您使用什么连接?ODP.NET,ODBC?我使用System.Data.OracleClient.dll连接到Oracle db。您使用的是什么版本的.NET framework?System.Data.OracleClient从.NET 4.0开始已被弃用,Microsoft建议现在使用适用于Oracle的ADO.NET提供程序。感谢Antonio的输入。我的Oracle_主目录正确指向32位客户端,但仍然收到相同的错误。请您提供建议?谢谢。您在应用程序的平台目标中设置了什么?试试x86好吧,我真的希望我能帮你更多,但现在我只是猜测,如果你把所有需要的ODP.NET二进制文件都放在bin文件夹中,它会起作用吗?谢谢Antonio的输入。我的oracle_主目录正确地指向32位客户机,但我还是遇到了同样的错误。请您提供建议好吗?谢谢。您在应用程序的平台目标中设置了什么?试试x86好吧,我真的希望我能帮你更多,但现在我只是猜测,如果你把所有需要的ODP.NET二进制文件都放在bin文件夹中,它会起作用吗?