У меня есть работать первенствует макрос, который подключается с помощью следующего типа соединения:Изменение VBA ADODB строки подключения, нужно быть более конкретным
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open (_
"User ID=userid" & _
";Password=pass" & _
";Data Source=blank.blank.com" & _
";Provider=MSDAORA.1")
Я могу соединиться в одной части моей сети, но когда я пытаюсь использовать тот же макрос на другом компьютере, с которым я больше не могу подключиться. Я думаю, что есть сетевая проблема, и мне нужно быть более «конкретным». Поэтому после некоторых поисковых запросов я столкнулся с другими строками подключения данных, которые используют IP и имя порта.
Driver={Microsoft ODBC for Oracle};
Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=199.199.199.199)(PORT=1523))(CONNECT_DATA=(SID=dbName)));
Uid=myUsername;Pwd=myPassword;
Исходя из https://www.connectionstrings.com/microsoft-odbc-for-oracle/
После Microsofts documentation тогда я получаю следующее:
With cn
.Provider = "MSDAORA.1"
.ConnectionString = "Driver={Microsoft ODBC for Oracle};" & _
"Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1.1.1.1)(PORT=xxxx))(CONNECT_DATA=(SID=DB)));" & _
"Uid=userid;Pwd=pass;"
.Open
End With
Однако я получаю сообщение об ошибке: ORA-12560 TNS:Protocol adapter error
Некоторые решения показывают, что я должен перезапустить базу данных , но он работает! Я подключаюсь к нему просто отлично.
Есть ли у кого-нибудь лучший способ подключения «более конкретно», который мог бы помочь в моей сетевой проблеме или мог бы помочь мне исправить мой новый способ подключения?
Если бы вы могли предоставить немного подробностей при тестировании соединения, я был бы вам признателен. Погубите это сейчас, когда мы говорим. Но также я подумал, что добавив ссылки Microsoft ActiveX на макрос в Excel, это позаботится об этом? – ZAX
Я не могу найти «тестовое соединение» на панели ODBC после создания соединения. Если он принимает и показывает на панели после создания, значит ли это, что тест прошел успешно? – ZAX
Хммм ... Я вижу, что при использовании Microsoft ODBC для Oracle нет тестового соединения. Существует для драйвера Oracle. Один из способов проверить это - открыть MS Access и создать связанную таблицу, используя созданное вами соединение Microsoft ODBC. Он предложит вам ввести пароль, и если он преуспеет, вы свяжете таблицу или это даст вам ошибку ODBC. – Sitch