首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle空异常oracle数据访问

oracle空异常oracle数据访问
EN

Stack Overflow用户
提问于 2015-01-26 02:24:43
回答 1查看 3K关注 0票数 1

我在这个问题上承受着压力,所以任何帮助都是很好的。这似乎是一个很长的问题,但不是..。我刚刚把尽可能多的信息都包括进去了。rgds M

我有一个Web应用程序,它安装在3个环境(Dev、UAT和Prod)上,系统从SQL 2008上的SSIS包调用web服务,它在所有环境中都命中web服务没有问题的方法。然后,我尝试在方法中打开一个oracle连接,如下面使用Oracle :Oracle.DataAccess.Client的简单代码所示;

她的是样本代码:

代码语言:javascript
复制
  // Create and open a connection.
   OracleConnection mConnection = new OracleConnection(sCnx);
   mConnection.Open();  -- Fails at this call. 

根据类似的问题- Oracle.DataAccess.Client.OracleException at Connection.Open(),异常消息和编号为空。

但是,我已经检查了Pass设置,并在所有环境中将其设置为true。

这是我的连接字符串

代码语言:javascript
复制
<add name="cnx" connectionString="DATA SOURCE=MYHUP1.US.COM;PASSWORD=456336;PERSIST SECURITY INFO=True;USER ID=MYAPPUSER" providerName="Oracle.DataAccess.Client"/>

这是下面使用的DLL的版本。所有Dlls都是在我的应用程序和bin文件夹中构建和部署的。我还检查了Oracle.DataAccess.dll是否从BIN文件夹加载,而不是从GAC或服务器上的Oracle11 (64位)安装中加载。

Oracle.DataAccess.dll版本2.112.3.0 32位--它们也包含在bin oci.dll、ociw32.dll、orannzsbb11.dll、oraocci11.dll、OraOps11w.dll中。

我的应用程序运行在64位机器上,但它是一个32位的应用程序,我的应用程序池中有这个设置。同样,它在DEV上运行的很好,但不受刺激。在所有3种环境中,它也运行在相同的服务帐户下。

让我印象深刻的是错误信息是空白的,我不得不将大量代码放入其中,以检查已加载的模块和运行该服务的组。这些看起来都很好。

来自异常的错误消息:注意消息是空的。当我把所有东西都抽出来时,这就是我得到的信息。

Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode的Oracle.DataAccess.Client.OracleException,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx* pOpoSqlValCtx,Object src,String过程,Boolean ) at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,Object src) at Oracle.DataAccess.Client.OracleConnection.Open() at XXX.Business.XXXBO.TestConnectionAndDeleteData(Nullable`1 updateDate,Int64 opsErrCtx) in C:\Development\XXX.

在我的Dev和Prod环境中,我安装了以下版本的Oracle,但正如上面提到的那样,我正在使用我自己的驱动程序,所以我不认为这会有什么关系。

代码语言:javascript
复制
DEV = Oracle Provider version 11.2.0.1.0

PROD = Oracle Provider Version 11.1.0.6.20

有没有人知道为什么这对我的刺激环境不起作用。我仔细梳理了IIS,并将其与其他环境进行了比较,它们是相同的。只是试图将其追溯到IIS问题或Oracle。请注意,我没有访问UAT环境的权限,这也有帮助!!

向米克问好

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-26 20:17:39

这是您需要做的,以纠正它。

  • 沿64位客户端安装32位客户端。64位版本在使用标准连接字符串方面不起作用。不知道甲骨文怎么能让这个错误持续这么久而不去修复它。并排安装是我们所做的。它会安装到自己的文件夹中,这样你就不会有问题了。当您使用.dll时,只需将副本设置为local = true并删除旧的,然后重新添加新的.dll。确保使用导航到4.x文件夹,而不是2.x文件夹。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28143975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档