Подключите Oracle SQL к VBA - PullRequest
       36

Подключите Oracle SQL к VBA

0 голосов
/ 08 февраля 2020

Я могу подключить Python к моей Oracle SQL БД на компьютере Windows, но, как ни странно, я не могу заставить его работать с VBA.

Для справки, это Python код для подключения:

cx_Oracle.connect(f'{self.user}/{self.pwd}@//{self.host}:{self.port}/{self.service_name}')

Я попытался воспроизвести эту похожую структуру в своем коде VBA, но я получаю сообщение об ошибке. Вот код, который я использовал:

Sub CallDB_Return_Flexible(stSQL As String, rstStart As Range)

    Dim sqlConn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim rtn As Boolean
    Dim cmd As New ADODB.Command
    Dim cs As String

    'On Error Resume Next
    Set sqlConn = New ADODB.Connection

    cs = "Provider=OraOLEDB.Oracle;User ID=myuserID;Password=myPsswd;Data Source=host:port/service_name;"
    sqlConn.ConnectionString = cs
    sqlConn.CommandTimeout = 10000
    sqlConn.Open

Я получаю следующие сообщения об ошибках: 1) Системе не удается найти текст сообщения для текста сообщения 0x80040e0 c в файле сообщений для OraOLEDB. 2) Иногда, в зависимости от итерации используемого мной соединения (IE соединение TNS), я получаю сообщение об ошибке прослушивателя TNS.

В настоящее время у меня включена библиотека объектов данных ActiveX 6.1. Кроме того, я нахожусь на 64-битной машине с установленным 64-битным Oracle клиентом. У меня 64-битный офис. Я совершенно уверен, что у меня также есть 64-битный ADO - мой ODA C (если он такой же) такой же, как и 64-битная онлайн-версия. У меня ODP. NET 2,12, а другой с 4,121 в реестре. У меня просто ODP. NET. Управляется 4.12.

Это не имеет особого смысла для меня, как на одном языке я могу соединиться без проблем, а на другом я не могу!

1 Ответ

0 голосов
/ 10 февраля 2020

Я протестировал с использованием более ранней библиотеки данных ActiveX - это решило ее.

Спасибо !!!!!

...