Соединение с Oracle в порядке, но ORA-12170: TNS: Истекло время ожидания соединения при выполнении запросов - PullRequest
2 голосов
/ 05 января 2012

У меня есть некоторые ошибки при выполнении запросов к базе данных oracle 11g из консольного приложения .net c #.Кажется, соединение установлено правильно (свойство 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: ошибка адаптера протокола Я не могу выполнить какой-либо тест.

Все службы оракула работают.

Команда Lsnrctl status говорит:

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

Любая помощь, связанная с любой из обеих ошибок, будетоценили.

1 Ответ

1 голос
/ 09 января 2012

Вы должны попробовать проверить свои библиотеки ODP. Это сработало для меня, мое внутреннее исключение касалось несовместимости между Oracle.DataAccess и Oracle 11g Database.

Отметьте ссылку и ответ .

...