oracle空异常oracle dataaccess
oracle empty exception oracle dataaccess
我在这方面压力很大,所以任何帮助都会很棒。这似乎是一个很长的问题,但事实并非如此。我刚刚包含了尽可能多的信息。rgds M
我有一个 Web 应用程序,它在 3 个环境(Dev、UAT 和 Prod)上安装了 Webservice 系统从 SQL 2008 上的 SSIS 包调用 Web 服务,它在所有环境中的 Web 服务。然后我尝试在方法中打开一个 oracle 连接,就像下面使用 Oracle Assembly 的简单代码一样: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 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 位
这些也包含在容器 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) in C:\Development\XXX........
在我的开发和生产环境中,我安装了以下版本的 Oracle,但如上所述,我在 Bin 目录中使用我自己的驱动程序,所以我认为这无关紧要..
DEV = Oracle Provider version 11.2.0.1.0
PROD = Oracle Provider Version 11.1.0.6.20
有人知道为什么这在我的生产环境中不起作用吗?我已经仔细梳理了 IIS,并与其他环境进行了比较,它们是相同的。只是试图将其追溯到 IIS 问题或 Oracle。请注意,我自己无法访问 UAT 环境,这也有帮助!!
问候米克
这是您需要更正它的方法。
- 在安装 64 位客户端的同时安装 32 位客户端。64 位版本在使用标准连接字符串方面不起作用。不确定 Oracle 如何让这个错误持续这么长时间而不修复它。安装并排是我们所做的。它将安装到它自己的文件夹中,因此您应该没有问题。当您使用 .dll 时,只需将副本设置为 local = true 并删除旧的并重新添加新的 .dll。 . 确保您使用导航到 4.x 文件夹而不是 2.x 文件夹。
我在这方面压力很大,所以任何帮助都会很棒。这似乎是一个很长的问题,但事实并非如此。我刚刚包含了尽可能多的信息。rgds M
我有一个 Web 应用程序,它在 3 个环境(Dev、UAT 和 Prod)上安装了 Webservice 系统从 SQL 2008 上的 SSIS 包调用 Web 服务,它在所有环境中的 Web 服务。然后我尝试在方法中打开一个 oracle 连接,就像下面使用 Oracle Assembly 的简单代码一样: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 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 位 这些也包含在容器 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) in C:\Development\XXX........
在我的开发和生产环境中,我安装了以下版本的 Oracle,但如上所述,我在 Bin 目录中使用我自己的驱动程序,所以我认为这无关紧要..
DEV = Oracle Provider version 11.2.0.1.0
PROD = Oracle Provider Version 11.1.0.6.20
有人知道为什么这在我的生产环境中不起作用吗?我已经仔细梳理了 IIS,并与其他环境进行了比较,它们是相同的。只是试图将其追溯到 IIS 问题或 Oracle。请注意,我自己无法访问 UAT 环境,这也有帮助!!
问候米克
这是您需要更正它的方法。
- 在安装 64 位客户端的同时安装 32 位客户端。64 位版本在使用标准连接字符串方面不起作用。不确定 Oracle 如何让这个错误持续这么长时间而不修复它。安装并排是我们所做的。它将安装到它自己的文件夹中,因此您应该没有问题。当您使用 .dll 时,只需将副本设置为 local = true 并删除旧的并重新添加新的 .dll。 . 确保您使用导航到 4.x 文件夹而不是 2.x 文件夹。