Макрос Excel для подключения к базе данных Oracle

У меня есть макрос Excel для подключения к базе данных Oracle. Но, выполняя код, я получаю сообщение об ошибке -

«Ошибка выполнения '-2147467259 (80004005)': ORA-12541: TNS: нет слушателя»

Пожалуйста, помогите мне разрешить это сообщение об ошибке.

На моем компьютере установлен Oracle SQL Developer 3.2.

Sub connectToCISDB()

Dim dbCon As New ADODB.Connection
Dim recordSet As New ADODB.recordSet
Dim strQuery, strCon As String

strQuery = "select * from SAPSR3.eanlh;"

Set dbCon = New ADODB.Connection      
dbCon.Open "Provider=OraOLEDB.Oracle;User ID=xautotext;Password=F7_kxxxxZS;Data Source=ouxxpdxx1"

Конец подписки


person TausifAhmed    schedule 10.09.2018    source источник
comment
Что делать, если вы попытаетесь подключиться через SQLPLUS? Если вы получите ту же ошибку, как я полагаю, проблема в вашем файле DB / TNS, ...   -  person Aleksej    schedule 10.09.2018
comment
@Aleksej Ниже представлено содержимое моего файла TNSNAMES.ORA: CIS = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = ouxxpdxx1) (PORT = 1526)) (CONNECT_DATA = (SID = [AUG])))   -  person TausifAhmed    schedule 10.09.2018
comment
@Aleksej Я могу подключаться и запрашивать таблицы db из Oracle SQL Developer.   -  person TausifAhmed    schedule 10.09.2018
comment
Откройте командную строку (Пуск - Выполнить - cmd) и введите эту команду: tnsping ouxxpdxx1. Что ты видишь ?   -  person Thomas G    schedule 10.09.2018
comment
@ThomasG Я получаю это сообщение в командной строке cmd - 'tnsping' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.   -  person TausifAhmed    schedule 10.09.2018


Ответы (1)


Использование правильной строки подключения решило проблему.

Строка подключения: Драйвер = {Microsoft ODBC для Oracle}; Сервер = (ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ = TCP) (ХОСТ = 199.199.199.199) (ПОРТ = 1523)) (CONNECT_DATA = (SID = dbName))); Uid = myUsername; Pwd = myPassword;

Ни TSN, ни DSN не требуются.

person TausifAhmed    schedule 11.09.2018