我在这个问题上承受着压力,所以任何帮助都是很好的。这似乎是一个很长的问题,但不是..。我刚刚把尽可能多的信息都包括进去了。rgds M
我有一个Web应用程序,它安装在3个环境(Dev、UAT和Prod)上,系统从SQL 2008上的SSIS包调用web服务,它在所有环境中都命中web服务没有问题的方法。然后,我尝试在方法中打开一个oracle连接,如下面使用Oracle :Oracle.DataAccess.Client的简单代码所示;
她的是样本代码:
// 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。
这是我的连接字符串
<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,但正如上面提到的那样,我正在使用我自己的驱动程序,所以我不认为这会有什么关系。
DEV = Oracle Provider version 11.2.0.1.0
PROD = Oracle Provider Version 11.1.0.6.20有没有人知道为什么这对我的刺激环境不起作用。我仔细梳理了IIS,并将其与其他环境进行了比较,它们是相同的。只是试图将其追溯到IIS问题或Oracle。请注意,我没有访问UAT环境的权限,这也有帮助!!
向米克问好
发布于 2015-01-26 20:17:39
这是您需要做的,以纠正它。
https://stackoverflow.com/questions/28143975
复制相似问题