Вернуть результаты Oracle DB SQL Query в Excel не удается - PullRequest
0 голосов
/ 26 июня 2019

При поиске примера кода я нашел ниже информацию о получении данных из базы данных Oracle в Excel.Раньше у меня это работало, когда я использовал файл TNSNAME.ORA.Мы больше не используем это и перешли на соединения LDAP и jdbc.Я запустил tnsping для SID базы данных, чтобы получить строку подключения.

Я установил клиент Oracle 11.2.0.3 64bit 11.2.0.3 У меня установлена ​​библиотека объектов данных Microsoft ActiveX 6.1.

Когдапри выполнении кода появляется сообщение о том, что клиент Oracvle (tm) и сетевые компоненты не найдены, а другая ошибка времени выполнения описана ниже.

Я попытался переустановить клиент oracle.

Sub Ora_Connection()
    Dim con As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim query As String
    Set con = New ADODB.Connection
    Set rs = New ADODB.Recordset
    strCon = "Driver={Microsoft ODBC for Oracle}; " & _
    "(DESCRIPTION= " & _
    "(ADDRESS=(PROTOCOL=TCP)" & _
    "(HOST=rac01-scan.xxxx.net)(PORT=1531))" & _
    "(LOAD_BALANCE=YES)" & _
    "(CONNECT_DATA=(UR=A)(SERVER=DEDICATED)" & _
    "(SERVICE_NAME=xxxx.xxxx)" & _
    "(FAILOVER_MODE=(BACKUP=xxxx)" & _
    "(TYPE=SELECT)(METHOD=PRECONNECT)(RETRIES=180)(DELAY=5))));" & _
    "uid=xxxxxx; pwd=xxxxxx;"
    con.Open (strCon)
    rsRecordset.MaxRecords = 1048575
    Set rsRecordset = rsConnection.Execute("select * from book")
    Worksheets("Sheet2").Range("A2").CopyFromRecordset rsRecordset
End Sub

Ожидаемые результаты - возвращаемые данные. Фактические результаты: Ошибка времени выполнения: «Ошибка SQLAllocHandle драйвера Microsoft (ODBC Driver) на SQL_HANDLE_ENV»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...