Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Проблема с ADO Добавлено: 05.08.09 15:41  

Автор вопроса:  Connection
У меня возникли некоторые проблемы, сущность которых можно изложить так:

Задача: создать отчет в 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 подключена

      ‘открываем соединение

AdoCn.ConnectionString = "Provider=ORAOLEDB.Oracle.1;Password=xxx;Persist Security Info=True;User ID=yyy;Data Source= aaa.bbb.ru"

‘ на этой строке выдается ошибка “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)' Сие мне вообще непонятно.

Буду очень благодарен, если Вы подскажете выход из этой ситуации.

С уважением, Connection

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 11.08.09 10:05
Библиотека 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 ветку по работе с данными.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам