Как настроить строку подключения 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)))"