2

从 .net c# 控制台应用程序对 oracle 11g 数据库执行查询时出现一些错误。连接似乎已正确建立(conn.State属性Open在以下几行之后)

OracleConnection conn = new OracleConnection(connString);
conn.Open();

但是当启动任何查询时,我会收到ORA-12170错误(发生连接超时)。我不认为问题出在代码中,因为针对另一个数据库的相同测试可以正常工作。

Connection.State is Open

Error: ORA-12170: TNS:Connect timeout occurred
   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 Proj1.DB.OracleProj1.GetOpenConn(String connString) in C:\WorkTV\src\projects\OracleProj1\source\Core\Proj1Core\DB\OracleProj1.cs:line 560
   at Proj1.DB.OracleProj1.AddLog(DateTime start, DateTime end, Int32 userID, String ip, Int32 assetID, Int32 segmentID, Int32 flowID, Int32 permissionID, Int32 permissionSubtype, Int32 resultCode, String resultDescription, String resultLog) in C:\WorkTV\src\projects\OracleProj1\source\Core\Proj1Core\DB\OracleProj1.cs:line 3513
   at Proj1.Util.Tool.AddLog(Int32 resultCode, String resultDescription, String resultLog) in C:\WorkTV\src\projects\OracleProj1\source\Core\Proj1Core\Util\Tool.cs:line 177
   at Proj1.DB.OracleProj1.ExecuteNonQuery(OracleConnection conn, String query, String& log, Proj1Object Proj1Object) in C:\WorkTV\src\projects\OracleProj1\source\Core\Proj1Core\DB\OracleProj1.cs:line 638
   at Proj1.DB.OracleProj1.TestConnection(String connString) in C:\WorkTV\src\projects\OracleProj1\source\Core\Proj1Core\DB\OracleProj1.cs:line 315

Connection.State is Closed

我可以使用相同的用户通过Oracle SQL Developer连接到该数据库,并成功插入/删除行。

当尝试通过命令行连接sqlplus时,我得到一个ORA-12560: TNS:protocol adapter error,所以我无法进行任何测试。

所有的 oracle 服务都在运行。

命令Lsnrctl status说:

Instance "xxx", status READY, has 1 handler(s) for this service...

任何与这两个错误相关的帮助将不胜感激。

4

1 回答 1

1

您应该尝试检查您的 ODP 库。这对我有用,我的内部异常是关于 Oracle.DataAccess 和 Oracle 11g 数据库之间的不兼容。

检查这个链接这个答案

于 2012-01-09T08:14:23.570 回答