2

这个问题可能看起来像其他问题的克隆,但我找不到这个问题的正确答案。这是我的场景:我有一个由 webservices 调用的 C# 软件,需要写入 oracle 数据库。在我的测试服务器中没有问题,它就像一个魅力,但是,在另一个同等的服务器中,它给了我这个错误:

Oracle.DataAccess.Client.OracleException.HandleErrorHelper (Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable) 处的 Oracle.DataAccess.Client.OracleException。 OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src) 在 Oracle.DataAccess.Client.OracleConnection.Open()

没有其他消息。我认为这是安装 oracle 客户端的错误,但是,我编写的另一个用于测试 oracle 连接的小应用程序可以正常工作:

var connectionString = ConfigurationManager.AppSettings["connectionString"];
using (OracleConnection nwindConn = new OracleConnection(connectionString))
{
   nwindConn.Open();
   Console.WriteLine("opened");
}

连接字符串:

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=thisdatabase.thisinstance)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=on)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=serv)(FAILOVER_MODE=(TYPE=SESSION)(METHOD=BASIC)(RETRIES=180)(DELAY=5))));User ID=myuser;Password=mypsw;

所以,我认为问题出在应用程序配置中,但为什么在其他服务器上同样有​​效? 我尝试编辑项目和解决方案调试平台配置,但问题仍然存在。有什么建议吗?

4

2 回答 2

1

问题是带有应用程序的 IIS 用户已启动,“应用程序通道”。我用我的管理员用户更改了它,它就像一个魅力。还是非常感谢。

于 2014-03-19T14:57:00.407 回答
0

在使用 11g 的情况下,只需转到您的 oracle 文件夹(我的 C:\oracle)并查找文件Oracle.dataAccess.dll,您可能会发现 4 个文件将它们复制到应用程序的 BIN 中,一切都会好起来的。

于 2018-06-24T00:24:07.443 回答