oracle空异常oracle dataaccess

时间:2015-01-26 02:24:43

标签: c# asp.net .net iis oracle11g

我对这个人施加压力,所以任何帮助都会很棒。这似乎是一个很长的问题,但它不是..我刚刚提供了尽可能多的信息.​​. rgds M

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

Hers是示例代码:

  // Create and open a connection.
   OracleConnection mConnection = new OracleConnection(sCnx);
   mConnection.Open();  -- Fails at this call. 

根据此类似问题 - Oracle.DataAccess.Client.OracleException at Connection.Open()

,异常消息和号码为空

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

这是我的连接字符串

<add name="cnx" connectionString="DATA SOURCE=MYHUP1.US.COM;PASSWORD=456336;PERSIST SECURITY INFO=True;USER ID=MYAPPUSER" providerName="Oracle.DataAccess.Client"/>

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

Oracle.DataAccess.dll 版本2.112.3.0 32位 这些也包含在bin oci.dll,ociw32.dll,orannzsbb11.dll,oraocci11.dll,OraOps11w.dll

我的应用程序在64位计算机上运行,​​但是是32位应用程序,我在应用程序池上设置了此设置。再次它在DEV上运行良好,但不是Prod。它还在所有3种环境下的相同服务帐户下运行。

让我感到困惑的是错误信息是空白的,我不得不把大量代码放入检查已加载的模块以及运行该服务的组。这些看起来都很好。

来自异常的错误消息:请注意消息是空白的...这是我将所有内容抽出时的信息

  

Oracle.DataAccess.Client.OracleException at   Oracle.DataAccess.Client.OracleException.HandleErrorHelper(的Int32   errCode,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx *   pOpoSqlValCtx,Object src,String procedure,Boolean bCheck)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 currentUserID)在C:\ Development \ XXX ........

在我的Dev和Prod环境中,我安装了以下版本的Oracle,但我在Bin目录中使用自己的驱动程序,如上所述,所以我认为这不重要..

DEV = Oracle Provider version 11.2.0.1.0

PROD = Oracle Provider Version 11.1.0.6.20

任何人都有任何想法,为什么这不会对我的Prod环境有效。我用一把精梳梳子在IIS上,与其他环境相比,它们是相同的。只是尝试将其跟踪到IIS问题或Oracle。请注意,我无法访问UAT环境,这也有帮助!!

最好的问候米克

1 个答案:

答案 0 :(得分:0)

这是你需要做的纠正它。

  • 将32位客户端安装在64位一端.64位版本在使用标准连接字符串方面不起作用..不确定Oracle如何在不修复它的情况下让这个bug持续这么久..安装方通过方面是我们做的..它将安装到它自己的文件夹中所以你应该没有问题..当你使用.dll时只需将副本设置为local = true并删除旧的并重新添加新的.dll .. make确保使用导航到4.x文件夹而不是2.x文件夹。