Все,Связь OLEDB от Excel до Oracle Issue
Проблема VBA убивает меня последние два дня. У меня есть модель на основе макросов в Excel, которая имеет наборы данных, купленные в электронные таблицы от Oracle через OLEDB. Чтобы проиллюстрировать проблему, я просто создал две функции в Модели. Один использует ODBC («odbc»), а другой - OLEDB («OraOLEDB»). На прошлой неделе код работал совершенно нормально, и он не был изменен.
В настоящее время, однако, появляется сообщение об ошибке «Ошибка времени выполнения» 424: Объект Обязательно, когда я выполняю строку «conn.Open strCon» в разделе «OraOLEDB». Соединение не может быть установлено с помощью база данных! Поэтому, когда я пытаюсь установить соединение с базой данных с этой строкой кода, она терпит неудачу. Интересно, что через ODBC можно установить соединение. Строка «conn.Open strCon» в sub «odbc «Выполняется успешно, и я могу установить соединение с базой данных.
Я ничего не менял в Excel-модели, но недавно у меня появилось множество обновлений Windows. Я не знаю, было ли это повреждено. думаю, что может быть. Причина, по которой я не хочу использовать соединение ODBC, заключается в том, что он значительно медленнее. 0x быстрее, используя OLEDB. Пожалуйста, дайте мне знать, если вы можете помочь.
Sub odbc()
Dim conn As Object
Dim strCon As String
strCon = "Driver={Microsoft ODBC for Oracle};
CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(HOST=xxx)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=xxx)));
uid=xxx;pwd=xxx;"
Set conn = CreateObject("ADODB.Connection")
conn.Open strCon
End Sub
Sub OraOLEDB()
Dim conn As Object
Dim strCon As String
strCon = "Provider=OraOLEDB.Oracle;
Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = xxx)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = xxx)));
User Id=xxx;Password=xxx"
Set conn = CreateObject("ADODB.Connection")
conn.Open strCon
Serg. Определение переменных таким образом фиксировало это. Спасибо. – jp3nyc
@ jp3nyc: Пожалуйста, отметьте ответ, который помог вам лучше всего принять так, чтобы мы, читатели, знали, какой именно ответ решил вашу проблему. – Rachcha