У меня возникли некоторые проблемы, сущность которых можно изложить так:
Задача: создать отчет в Excel
Язык: VBA
Технология: ADO
В простейшем случае, я хочу получить что-то вроде:
Option Explicit
Sub ConnectDB()
‘объявляем объект соединения
Dim AdoCn As ADODB.Connection
‘объявляем объект набора записей
Dim rst As ADODB.RecordSet
‘создаем объект соединения
Set AdoCn = New ADODB.Connection
‘создаем объект набора записей
Set rst= New ADODB. RecordSet
‘Библиотека Microsoft ActiveX Data Objects 2.8 Library подключена
‘ на этой строке выдается ошибка “OraOLEDBplus10.dll : The specified module could not be found”
‘ на машине у меня установлен Oracle 10.2
‘ галочки на ORAOLEDB Library в тулсах на всякий случай поставил
‘ на всякий зарегестрировал ORAOLEDB.DLL - НЕ ПОМОГЛО
‘собственно, некоторые сомнения у меня вызывает и ... Data Source= aaa.bbb.ru я не уверен, что можно имя сервера, но IP я знаю, так что не проблема
‘подсоединиться при помощи ODBC у меня тоже не получается:
‘AdoCn.Open "Provider=Microsoft ODBC for Oracle;Password=xxx;Persist Security Info=True;User ID=yyy;Data Source=aaa.bbb.ru"
'не пашет ( 2 следующие строки в последнем случае я конечно не включаю)
AdoCn.CursorLocation = adUseClient
AdoCn.Open
.............................................................’ здесь собственно и будет «программа»
‘открываем набор записей
Rst.open ” select distinct product from u_sales_report_current” ‘просто для примера
‘выводим на экран для теста
......
‘закрываем набор записей и уничтожаем сам объект
Rst.close
Set Rst = Nothing
‘закрываем соединение
AdoCn.Close
‘уничтожаем объект соединения
Set AdoCn=Nothing
End Sub
PS на http://www.connectionstrings.com/ меня посылать бесполезно - был.
PPS сделал тестовую БД ACCESS, попытался соединиться с ней через Microsoft.Jet.OLEDB.4.0 - выдает ошибку run time error '-2147467259(80004005)' Сие мне вообще непонятно.
Буду очень благодарен, если Вы подскажете выход из этой ситуации.
Библиотека ADO вручную была подключена к проекту VBA? Если вдруг нет, то делается это вот так:
Меню: Tools - References... В окне References найти в списке и отметить галочкой пункт Microsoft ActiveX Data Objects 2.X Library (где вместо X какая-то цифра, выбери версию постарше, например 2.8, если она у тебя установлена или что-то другое, на твою программу это сильно не повлияет). Нажми Ok в этом окне.
Второе: если ADO ты подключал, а ошибка вылазит на ConnectionSrting, возможно, что на компьютере, где ты работаешь, не установлен тот драйвер, что тебе нужен? Если драйвера нет, то его можно установить. Так "Microsoft ODBC for Oracle" вероятней всего содержится в пакете драйверов для доступа к базам данных MSDAC (Microsoft Data Access Componets), который можно скачать на сайте Microsoft совершенно бесплатно. А справочник по строкам подключения я бы советовал не http://www.connectionstrings.com/, а MSDN ветку по работе с данными.