Postgres соединение через VBA - PullRequest
0 голосов
/ 12 марта 2019

У меня есть куча макросов, которые в настоящее время подключаются к нашим «локальным» оракулам, но наша компания проходит миграцию на AWS, и теперь мне нужно настроить свои подключения для подключения к новой базе данных.Это моя текущая функция для подключения к Oracle:

Function query_DB(dataSource As String, strSQL As String, Optional serverName As String, Optional orcl As String, Optional UN As String, Optional PW As String) As ADODB.Recordset
Dim oConn As New ADODB.Connection, cmd As New ADODB.Command
Dim oRS As New ADODB.Recordset, userName As String, passWord As String
Set query_DB = New ADODB.Recordset

If UN = "" Then
    userName = "test"
Else
    userName = UN
End If
If PW = "" Then
    passWord = "test"
Else
    passWord = PW
End If


strSQL = convOrcl(strSQL, serverName)


    tmpds = Split(dataSource, ",")
    tmporcl = Split(orcl, ".")

    With oConn
        .Provider = "OraOLEDB.Oracle"
        .Properties("Data Source") = UCase(tmporcl(0))
        .Properties("User id") = userName
        .Properties("Password") = passWord
    .Open
    End With


On Error Resume Next
query_DB.Open strSQL, oConn, adOpenDynamic, adLockOptimistic

End Function

В реальной функции указывается только реальное входное значение.

Может ли кто-нибудь помочь мне изменить эту функцию, чтобы она работалас postgres?Спасибо.

1 Ответ

0 голосов
/ 13 марта 2019

Ваш проект использует ссылку на объекты данных MS ActiveX (ADODB.*).
Postgresql не поставляется с драйвером ODBC в стандартной установке, вам нужно скачать его здесь .

Как только это будет сделано, я предлагаю вам попытаться установить для свойства ConnectionString вашего объекта oConn одно из значений, предоставленных на этом сайте .

...