从 .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...
任何与这两个错误相关的帮助将不胜感激。