Как настроить строку подключения OraOLEDB

Мне нужна помощь, чтобы установить соединение с БД Oracle.

У меня есть приложение Excel VBA, использующее следующую рабочую строку подключения для настройки правильного подключения к существующей базе данных Oracle:

Provider = OraOLEDB.Oracle; 
Data Source = XXXXSSA5; 
User Id = [USERNAME]; Password = [PASSWORD];

Недавно база данных была перемещена в новую локализацию, следующая строка подключения работает нормально с sqlplus, однако я не знаю, как правильно представить ее как строку подключения OraOLEDB:

[USERNAME]/[PASSWORD]@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=symbol.server.company.net)(Port=1731))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DDDB1044_APP)))

Я попытался заполнить недавний шаблон новыми данными:

Provider = OraOLEDB.Oracle; 
Data Source = DDDB1044_APP; 
User Id = [USERNAME]; Password = [PASSWORD];

Однако я полагаю, что мне нужно каким-то образом передать имя хоста в строку подключения и, возможно, порт тоже, поскольку я получаю сообщение: ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения

1 ответ

Решение

Обычно вы определяете псевдоним в вашем tnsnames.ora файл как это:

DDDB1044_APP = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=symbol.server.company.net)(Port=1731))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DDDB1044_APP)))

Тогда используйте этот псевдоним Data Source = DDDB1044_APP;

Если вам не нравится работать с псевдонимом, просто добавьте к нему все соединение:

Data Source = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=symbol.server.company.net)(Port=1731))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DDDB1044_APP)))"
Другие вопросы по тегам