Загрузка данных из Excel через VB и ODBC соединение с базой данных PostgreSQL, размещенной на Heroku

У меня есть проблема при попытке загрузить данные из Excel в базу данных PostgreSQL, размещенную на Heroku, через код Visual Basic и соединение ODBC.

Моя версия Excel для 64-разрядной версии 2013 года, я загрузил и установил драйверы psqlODBC (версия 10_02_0000, ANSI(x64) и Unicode(x64)) отсюда: https://www.postgresql.org/ftp/odbc/versions/msi/

Когда я пытаюсь загрузить данные в локальную базу данных PostgreSQL, все работает нормально. Ниже вы можете найти код VB, который я использую:

Sub PostgreSQL_INSERT_public_cities_Click()
Dim strsql As String

        Dim db As Database
        dbconnect = "ODBC;DRIVER=PostgreSQL ANSI(x64);UID=myuser;PWD=mypwd;PORT=5432;SERVER=localhost;DATABASE=mydb;DSN=C:\Program Files\psqlODBC\1002\bin\psqlodbc30a.dll"
        Set db = OpenDatabase("", False, False, dbconnect)

        strsql = ActiveSheet.Range("F16").Value

        db.Execute strsql, dbSQLPassThrough
End Sub

Когда вместо этого я пытаюсь загрузить те же данные в базу данных PostgreSQL, размещенную на Heroku, я получаю следующее сообщение об ошибке:

Код VB, который я использую в этом случае:

Sub PostgreSQL_INSERT_public_cities_heroku_Click()
Dim strsql As String

        Dim db As Database
        dbconnect = "ODBC;DRIVER=PostgreSQL ANSI(x64);SERVER=ec2-xx-xxx-xx-6.compute-1.amazonaws.com;PORT=5432;DATABASE=herokudb;UID=herokuuser;PWD=herokuverylongpassword;DSN=C:\Program Files\psqlODBC\1002\bin\psqlodbc30a.dll"
        Set db = OpenDatabase("", False, False, dbconnect)

        strsql = ActiveSheet.Range("F16").Value

        db.Execute strsql, dbSQLPassThrough
End Sub

Я прочитал, что мне нужно подключиться к Heroku с помощью SSL, хотя sslmode в psqlODBC должен быть включен по умолчанию, я пытался добавить sslmode=require на мой код VB, в dbconnect строка, но когда я это делаю, я получаю следующее сообщение об ошибке:

С другой стороны, если я пытаюсь загрузить в базу данных PostgreSQL, размещенную на Heroku, данные в CSV-файле через pgfutter, все работает хорошо. Код, который я использую:

pgfutter --host "ec2-xx-xxx-xx-x.compute-1.amazonaws.com" --port "5432" --db "herokudb" --schema "public" --table "foundation" --user "herokuuser" --pw "herokuverylongpassword" --ssl csv _1_foundation_csv.csv

Любой совет будет чрезвычайно полезным.

Спасибо Стефано

0 ответов

Другие вопросы по тегам