这个问题可能看起来像其他问题的克隆,但我找不到这个问题的正确答案。这是我的场景:我有一个由 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;
所以,我认为问题出在应用程序配置中,但为什么在其他服务器上同样有效? 我尝试编辑项目和解决方案调试平台配置,但问题仍然存在。有什么建议吗?