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

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

"Run-time error '-2147467259 (80004005)': ORA-12541:TNS:no listener"

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

На моем компьютере установлен 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"

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

Что делать, если вы попытаетесь подключиться через SQLPLUS? Если вы получите ту же ошибку, как я полагаю, проблема в вашем файле DB / TNS, ...

Aleksej 10.09.2018 09:59

@Aleksej Ниже представлено содержимое моего файла TNSNAMES.ORA: CIS = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = ouxxpdxx1) (PORT = 1526)) (CONNECT_DATA = (SID = [AUG])))

TausifAhmed 10.09.2018 10:01

@Aleksej Я могу подключаться и запрашивать таблицы db из Oracle SQL Developer.

TausifAhmed 10.09.2018 10:04

Откройте командную строку (Пуск - Выполнить - «cmd») и введите следующую команду: tnsping ouxxpdxx1. Что ты видишь ?

Thomas G 10.09.2018 10:09

@ThomasG Я получаю это сообщение в командной строке - «tnsping не распознается как внутренняя или внешняя команда, работающая программа или командный файл».

TausifAhmed 10.09.2018 10:22
0
5
4 926
1

Ответы 1

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

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

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

Другие вопросы по теме