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 に答える