#oracle #ssis #tnsnames #ora-12170
#Oracle #ssis #tnsnames #ora-12170
Вопрос:
Я поддерживаю пакет SSIS, который извлекает данные из базы данных Oracle 10g. Когда время ожидания соединения истекло с кодом ошибки:
Сбой тестового подключения из-за ошибки при инициализации поставщика. ORA-12170: произошел тайм-аут TNS: подключения
Мне сказали, что я должен изменить sqlnet.ora или tnsnames.ora. Возникает интересный вопрос. Как я могу найти, какой файл ora используется SSIS, кроме как изменять их один за другим, пока проблема не исчезнет?
Я должен добавить, что у меня есть файлы tnsnames.ora в двух каталогах, которые не называются чем-то вроде backup или _old
D:oracleproduct11.2.0client_1NETWORKADMIN
D:oracleproduct11.2.0client_2_32_bitNETWORKADMIN
Ответ №1:
Запустите tnsping.exe <address>
тем же способом, которым вы вызываете SSIS (те же настройки среды, путь и т.д.). Он сообщит вам, где находятся ваши файлы:
C:>tnsping mydb.world
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 25-MAY-2011 11:06:14
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
C:oracleOra11gr2product11.2.0client_x64networkadminsqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = machinename.mycompany.com)(PORT = 1
521)) (LOAD_BALANCE = YES) (FAILOVER = YES) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = DEVRMED) (FAILOVER_MODE
= (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5))))
OK (140 msec)
Комментарии:
1. Отлично. Это указало мне на sqlnet.ora, в котором была строка > ИМЕНА. DIRECTORY_PATH= (TNSNAMES) , по-видимому, указывает мне на файл tnsnames.ora по тому же пути. Фактические настройки, показанные в этом tnsnames.ora. Спасибо.
2. Да, извините, я явно не упомянул, что
sqlnet.ora
иtnsnames.ora
будут находиться в одном каталоге. Рад, что мой ответ помог!