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

时间:2012-03-06 11:54:03

标签: .net winforms oracle windows-7

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

  

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

能够使用“udl文件”并在此计算机上使用“SQL Plus”实用程序连接到同一数据库。

在我的Windows 7机器上,ORACLE_HOME目录正确指向环境变量和注册表中的32位客户端,但仍然遇到相同的错误。

此外,即使没有任何这些环境变量,也可以在Windows XP计算机上从.Net app连接到此数据库。

你能告诉我吗?

感谢阅读。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

根据您的问题,了解您的设置即VS2010 / 2008等可能会有用吗? 这是最近的问题还是新的机器构建?

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

System.Data.OracleClient现已弃用,ODP.NET(Oracle.DataAccess)是oracle直接建议的替代品。

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

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

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

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

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

很可能像安东尼奥这样的客户配置问题。