Как я могу подключиться к Lotus через ODBC с помощью VBA? - PullRequest
0 голосов
/ 17 июня 2009

Меня интересует настройка базы данных Access для автоматического запуска отчета.Чтобы избавить себя от необходимости заходить на каждый клиентский компьютер и настраивать соответствующие уведомления о доставке, я хотел бы настроить соединения ODBC в самом скрипте VB, если это возможно.

Я погуглил и проверил этот сайт и нашел хороший стартовый код, но этого недостаточно, чтобы все сообщения об ошибках исчезли.Может кто-нибудь заполнить код ниже?

Sub SetupODBC(Str_Server as string, Str_Db as string)  
 'Str_Server=Name of Server
 'Str_db=Name of Database
 Dim C as ADODB.Connection  
 Set C = new ADODB.Connection  
 C.ConnectionString = ??  
 C.Open  
 Debug.print C.State  
Exit Sub

Ответы [ 3 ]

1 голос
/ 18 июня 2009

Добро пожаловать на доску. ConnectionStrings действительно ваш друг, но проблема в том, что у вас нет драйвера :) Lotus Notes - это не реляционная база данных, а документно-ориентированная база данных . Исторически не было способа получить к нему доступ, так как по этой причине это реляционная база данных. Однако в конечном итоге IBM занялась написанием своего рода переводчика в виде NotesSQL . Если вы перейдете по ссылке и получите драйвер, вы сможете использовать ODBC. Стоит отметить, что Notes выставляет себя на COM. Так что, если пуш наступит, вы можете автоматизировать клиента.

1 голос
/ 18 июня 2009

Этот сайт ваш друг: http://www.connectionstrings.com/access

Сначала я не правильно поняла ваш вопрос. Я вижу, что вы хотите создать ссылку из Access на Lotus для отчета по данным Lotus Notes. Ну, есть несколько способов сделать это.

Я часто использую метод представления данных Lotus Notes как XML, а затем доступа к этому XML из удаленной системы. Вы можете легко создать страницу заметок с начальным тегом XML, корневым элементом, а затем вставить встроенное представление между корневым элементом. Затем это встроенное представление должно отображаться как HTML и содержать столбцы, которые разрешаются в теги xml. Например, каждая строка представления будет выглядеть примерно так:

<Person><FirstName>Ken</FirstName><LastName>Pespisa</LastName></Person>

и ваши формулы столбца будут:

"<Person><FirstName>" + FirstName + "</FirstName>"

для столбца с именем и столбца с фамилией:

"<LastName> + LastName + </LastName></Person>"

Обратите внимание, что это предполагает, что на вашем сервере Notes включена служба HTTP, и вы можете обращаться к базе данных через браузер.

Однако, как уже упоминалось в других ответах, вы можете использовать другие методы, такие как NotesSQL и COM. Похоже, вы устанавливаете это решение на многих рабочих станциях, и NotesSQL потребует от вас установить драйвер на каждую рабочую станцию. Метод COM будет работать, не требуя дополнительной работы на рабочих местах пользователей, поэтому я бы предпочел это решение в этом случае.

0 голосов
/ 18 июня 2009

Выглядит как отличный сайт для моих нужд, даже если он не обновлялся в течение года. Но до сих пор нет сигар. Теперь я получаю сообщение «Не найдено имя источника данных и не указан драйвер по умолчанию»

(Очевидно, что ServerNameGoesHere и DatabaseNameGoesHere являются заменами)

Sub dbX()  
     Dim C As adodb.Connection  
     Set C = New adodb.Connection  
     C.Open _  
        "Driver={Lotus NotesSQL 3.01 (32-bit) ODBC DRIVER (*.nsf)};" & _  
        " Server=ServerNameGoesHere;" & _  
        " Database=DatabaseNameGoesHere.nsf;"  
     C.Close
End Sub
...