Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Thorstein am März 08, 2020, 22:15:41

Titel: VBA Access 2019 ODBC-Verbindung zu PostgreSQL
Beitrag von: Thorstein am März 08, 2020, 22:15:41
Hallo,
ich kann über VBA Access 2019 keine ODBC-Verbindungen mit einer PostgreSQL-DB herstellen. Mit den gleichen Parametern habe ich bereits den ODBC-Treiber "PostgreSQL Unicode" als ODBC-Quelle eingerichtet (siehe Abbildung) und erfolgreich Tabellen als Pass-Through importiert. Beim Ausführen erhalte ich jedoch ganz unten stehende Fehlermeldung, welche meint, dass kein Passwort übergeben wurde, obwohl der String m.E. korrekt ist.

Der zusammengesetzte connect-String lautet:
Driver={PostgreSQL Unicode};Server = localhost;Port = 5432;Database = dbname;UID = userX;PWD = passwX


Sub con_pgsql()
  Dim odbcDriver As String: odbcDriver = "Driver={PostgreSQL Unicode};"
  Dim server As String: server = "Server = localhost;"
  Dim db As String: db = "Database = dbname;"
  Dim port As String: port = "Port = 5432;"
  Dim user As String: user = "Uid = userX;"
  Dim pwd As String: pwd = "Pwd = passwX"
  Dim conPostgres As String: conPostgres = odbcDriver & server & port & db & user & pwd

  Dim con As ADODB.Connection
  Set con = New ADODB.Connection
  con.Open conPostgres

  if con.State = 1 Then con.Close _
    Else: Debug.Print "No connection to close."

End Sub


VBA-Fehlermeldung:
Laufzeitfehler '.....'
fe_sendauth: no password supplied

Danke!
Titel: Re: VBA Access 2019 ODBC-Verbindung zu PostgreSQL
Beitrag von: PhilS am März 09, 2020, 08:26:25
Du hast in deinem ConnectionString Leerzeichen vor unter hinter den Gleichheitszeichen. Mindestens beim Passwort ist das Problematisch, weil ein m.W. ein Leerzeichen auch ein gültiges Zeichen innerhalb des Passworts wäre (sein könnte).
Ich würde als erstes die Leerzeichen entfernen.
Titel: Re: VBA Access 2019 ODBC-Verbindung zu PostgreSQL
Beitrag von: Thorstein am März 09, 2020, 09:03:02
Zitat von: PhilS am März 09, 2020, 08:26:25
Du hast in deinem ConnectionString Leerzeichen vor unter hinter den Gleichheitszeichen. Mindestens beim Passwort ist das Problematisch...
Herzlichen Dank, das war das Problem!