2012-03-06 57 views
1

当我的.Net WinForms应用程序试图连接到Oracle数据库使用System.Data.OracleClient.dll 64位Windows 7 machine.Am我得到这个错误作为提供者。错误从.NET应用程序连接到Oracle数据库在Windows 7

OCIEnvCreate失败,返回代码-1,但错误消息文本不是 可用。

能够使用“udl文件”和本机上的“SQL Plus”实用程序连接到同一个数据库。

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

而且,我能够连接到该数据库从.net应用程序在Windows XP计算机上,即使没有任何存在的这些环境变量。

您能否提供建议?

感谢您的阅读。

+0

你用什么来连接? ODP.NET,ODBC,...? – 2012-03-06 12:02:28

+0

我使用System.Data.OracleClient.dll连接到Oracle数据库。 – user74042 2012-03-06 12:09:34

+0

您使用的是什么版本的.NET框架?System.Data.OracleClient自.NET 4.0起弃用,Microsoft建议现在使用适用于Oracle的ADO.NET提供程序。 – 2012-03-13 13:00:56

回答

2
+0

感谢您的输入安东尼。我的oracle_home目录正确指向32位客户端,但仍然得到相同的错误。请您建议?谢谢。 – user74042 2012-03-11 06:30:13

+0

你在你的应用的平台目标中设置了什么?尝试x86 – 2012-03-11 11:47:00

+0

是的,我在VS.net中使用x86 – user74042 2012-03-11 12:46:40

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,尝试将其添加到路径环境的开头。

您的应用程序是否在另一个帐户下运行?

像Antonio这样的客户端配置问题的可能性很大。

相关问题