首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle连接正常,但ORA-12170: TNS:在执行查询时发生了连接超时

Oracle连接正常,但ORA-12170: TNS:在执行查询时发生了连接超时
EN

Stack Overflow用户
提问于 2012-01-05 11:38:02
回答 1查看 19.1K关注 0票数 2

对来自.net c#控制台应用程序的oracle11g数据库执行查询时出现了一些错误。连接似乎已正确建立(以下行之后的conn.State属性为Open )

代码语言:javascript
复制
OracleConnection conn = new OracleConnection(connString);
conn.Open();

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

代码语言:javascript
复制
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:协议适配器错误,所以我无法进行任何测试。

所有甲骨文服务都在运行。

Lsnrctl status命令说:

代码语言:javascript
复制
Instance "xxx", status READY, has 1 handler(s) for this service...

任何与这两种错误相关的帮助都将受到感谢。

EN

回答 1

Stack Overflow用户

发布于 2012-01-09 08:14:23

您应该尝试检查ODP库。这对我来说很管用,我内心的例外是Oracle.DataAccess和Oracle11g数据库之间的不兼容性。

看看这个链接这个答案

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8741853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档