При поиске примера кода я нашел ниже информацию о получении данных из базы данных 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»