我对这个人施加压力,所以任何帮助都会很棒。这似乎是一个很长的问题,但它不是..我刚刚提供了尽可能多的信息.. 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环境,这也有帮助!!
最好的问候米克
答案 0 :(得分:0)
这是你需要做的纠正它。