Создайте DSN Oracle ODBC с вдовами. Ввод номера порта - PullRequest
0 голосов
/ 23 декабря 2010

В моем файле c: \ Oracle \ product \ 11.1.0 \ network \ 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)

)

)

Я мог успешно подключиться с помощью TOAD.Теперь, когда я пытаюсь создать новый ODBC DSN, он не позволяет мне сделать это.Как указать номер порта в имени службы TNS?

enter code here Получите следующую ошибку: ---------------------------

Тестирование соединения

Невозможно подключиться SQLState = S1000 [Oracle] [ODBC] [Ora] ORA-12514: TNS: слушатель в настоящее время не знает о службе, запрошенной в дескрипторе соединения


ОК

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

Когда вы говорите, что можете соединиться с TOAD, можете ли вы сделать это сейчас, когда не удается установить соединение ODBC?Если вы можете подключиться с помощью какого-либо инструмента на своем клиентском компьютере, то, очевидно, слушатель на другом конце знает об услуге, поэтому вам следует подозревать свою цель.Вероятно, один клиентский инструмент пытается получить доступ к PVTEST в другом месте.

Если один клиентский инструмент может подключиться, а другой - нет, сначала я бы подтвердил, что оба клиента используют один и тот же файл tnsnames.ora.,Найдите своего клиента и посмотрите, есть ли другие файлы tnsnames.ora, которые подразумевают другие ORACLE_HOMES (Google, если вы не знаете, что это такое).

Из командной строки выполните TNSPING и посмотрите, достигает ли онгостья.Он также расскажет о деталях соединения.

В TOAD проверьте детали соединения и убедитесь, что оно использует соединение tnsnames и, если да, то какие tnsnames.

Проверьте, есть ли у вашего клиента переменная среды TNS_ADMINзадавать.

1 голос
/ 23 декабря 2010

У меня есть блок такого типа с Oracle XE:

XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = test.acme.org) (PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = XE)))

Если вы сравните это с вашим определением, то не существует параметра «SERVICE_NAME».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...