powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подключение к бд PostgreSQL из VBA
6 сообщений из 6, страница 1 из 1
Подключение к бд PostgreSQL из VBA
    #39380400
Viacheslav_mihalich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Задача - вывести в word-е результат запроса из PostgreSQL.
Для этого из VBA пытаюсь подключиться к бд PostgreSQL и взять необходимые данные из базы.
Создал файлик udl с необходимой строкой подключения, проверил успешное соединение. С этим все ok.

Проблема в том, что при попытке из VBA подключиться к базе PostgreSQL, используя ту же строку подключения, программа встает на шаге .Open:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
'создаем новое подключение к БД
Set ADO_Connect = New ADODB.Connection
With ADO_Connect
.ConnectionString = "Driver={PostgreSQL UNICODE(x64)};Server=имя сервера;Port=5432;Database=имя базы;Uid=postgres;Pwd=пароль
.Mode = adModeReadWrite
.Open
End With



Просьба подсказать, что не так/что забыл настроить. Спасибо.
...
Рейтинг: 0 / 0
Подключение к бд PostgreSQL из VBA
    #39380402
Viacheslav_mihalich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При этом выдает ошибку:
Run-time error '-2147467259 (800004005)':

[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер. используемый по умолчанию.
...
Рейтинг: 0 / 0
Подключение к бд PostgreSQL из VBA
    #39380407
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viacheslav_mihalich,

vba у вас точно 64 разрядный?

32-разрядный vba, имхо, не сможет воспользоваться 64-разрядным драйвером.
...
Рейтинг: 0 / 0
Подключение к бд PostgreSQL из VBA
    #39380466
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viacheslav_mihalich
Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Подключение к бд PostgreSQL из VBA
    #39381862
Viacheslav_mihalich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ!
Переустановил офис на 64 разрядный.
На строку подключения теперь ошибок нет, видимо. к БД подключение состоялось:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
'создаем новое подключение к БД

Set ADO_Connect = New ADODB.Connection
With ADO_Connect
    .ConnectionString = "Driver={PostgreSQL UNICODE(x64)};Server=*;Port=5432;Database=*;Uid=*;Pwd=*"
    .Mode = adModeReadWrite
    .Open
End With
'----------------------------------------------------------------------------------



Но теперь не читает сам запрос.
Внутри запроса к БД PostgreSQL используются кавычки.
Экранировать \" не получается.
Без кавычек, видимо, Postgres запрос не понимает.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
'создаем новый рекордсет и заполняем его данными из выбранной таблицы
Set ADO_Recordset = New ADODB.Recordset
With ADO_Recordset
    Set .ActiveConnection = ADO_Connect
    .CursorLocation = adUseClient
    .CursorType = adOpenKeyset
    .LockType = adLockOptimistic
    .Source = "SELECT \"ID\" FROM \"METRO_LINE_IDS\""
    .Open
End With



Как в этом случае писать запрос к БД PostgreSQL, если внутри запроса используются кавычки?
Модератор:
Не палите строку подключение из продакшн
...
Рейтинг: 0 / 0
Подключение к бд PostgreSQL из VBA
    #39381886
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В VB(A) двойная кавычка экранируется удвоением. а не пред-слэшем.

PS. И тег кода надо выбирать по языку кода, а не по мистическому наитию.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подключение к бд PostgreSQL из VBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]