Создайте Oracle ODBC DSN с вдовами. Вход в номер порта
Вопрос
У меня есть следующая запись в моем файле C: Oracle Product 11.1.0 vitude admin tnsnames.ora.
enter code here
pvtest.world =
(Описание =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SID = pvtest)
(SERVER = DEDICATED)
)
)
Я мог бы успешно подключиться с помощью жабы. Теперь, когда я пытаюсь создать новый ODBC DSN, это не позволяет мне сделать это. Как я могу указать номер порта в названии службы TNS?
enter code here
Получите следующую ошибку: ---------------------------
Тестирование подключения
Невозможно подключить SQLState = S1000 [Oracle] [ODBC] [ORA] ORA-12514: TNS: Слушатель в настоящее время не знает об обслуживании, запрашиваемой в Descriptor Connect
ХОРОШО
Решение
Когда вы говорите, что можете связаться с Toad, можете ли вы сделать это теперь, когда подключение ODBC выходит из строя? Если вы можете подключиться к каким -либо инструментам на своем клиентском ПК, то, очевидно, слушатель на другом конце знает об сервисе, чтобы вы должны подозревать свой конец. Вероятно, один клиент -инструмент пытается достичь PvTest в разных местах, чем другой.
Если один клиент -инструмент может подключиться, а другой не может, во -первых, я бы подтвердил, что оба клиента используют один и тот же файл tnsnames.ora. Поиск вашего клиента и посмотрите, есть ли другие файлы tnsnames.ora, которые означают другие Oracle_homes (Google, если вы не знаете, что это такое).
Из командной строки сделайте Tnsping и посмотрите, достигнет ли она хоста. Это также расскажет о деталях соединения.
В Taod проверьте детали соединения и убедитесь, что оно использует соединение TNSNAMES и, если да, какие TNSNAME.
Проверьте, есть ли у вашего клиента набор переменной среды TNS_ADMIN.
Другие советы
У меня такой блок с Oracle XE:
Xe = (description = (address = (protocol = tcp) (host = test.acme.org) (port = 1521)) (connect_data = (server = посвящен) (service_name = xe))))))))
Если вы сравните это с вашим определением, не то, что есть параметр "service_name".