SSRS: Oracle TNS: ошибка слушателя?
У меня есть отчет SSRS, который использует Business Object Provider. DLL имеет связь с сервером Oracle. Всякий раз, когда я запускаю отчет, я продолжаю получать это сообщение об ошибке:
"Oracle.DataAccess.Client.OracleException ORA-12514: TNS: слушатель в настоящее время не знает об услуге, запрошенной в дескрипторе соединения"
Кто-нибудь знает почему?
2 ответа
Похоже, вы установили клиент Oracle, но еще не настроили своих слушателей TNS.
Там должен быть файл с именем "tnsnames.ora", и внутри этого файла вам нужно добавить нового слушателя. Если это установка Windows, там также может быть графический интерфейс конфигурации сети.
Общая запись tnsnames.ora будет выглядеть так, если вы решите пойти по этому пути:
DBAlias =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = YourDBServiceName))
)
Ваш файл tnsnames.ora обычно находится в каталоге ORACLE_HOME/network/admin.
С технической точки зрения, вы не "создаете прослушиватель", скорее, вы определяете псевдоним для строки подключения к сети клиента Oracle, которая будет где-то ссылаться на прослушиватель.
Кроме того, вы можете указать строку EZConnect, если вы не хотите / не можете связываться с записями tnsnames.ora:
"Data Source=//yourserver:1521/yourDB;User ID=theUser;Password=thePW"
Вам понадобится запись в файле sqlnet.ora для эффекта:
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)