RE: VBA to connect to postgresql from MS Access - Mailing list pgsql-general

From Relyea, Mike
Subject RE: VBA to connect to postgresql from MS Access
Date
Msg-id MWHPR11MB13584C86D8D3A4598A508DD8EF670@MWHPR11MB1358.namprd11.prod.outlook.com
Whole thread Raw
In response to Re: VBA to connect to postgresql from MS Access  (Łukasz Jarych <jaryszek@gmail.com>)
List pgsql-general

 

 

From: Łukasz Jarych [mailto:jaryszek@gmail.com]
Sent: Monday, June 04, 2018 12:30 AM
To: Adrian Klaver <adrian.klaver@aklaver.com>
Cc: pgsql-general@postgresql.org >> PG-General Mailing List <pgsql-general@postgresql.org>
Subject: Re: VBA to connect to postgresql from MS Access

 

Thank you Adrian, 

 

in answer to response in link:

 

This connection string is not working for me. 

 

Ma macro is:

 

Public Sub InitConnect()

 

On Error GoTo ErrHandler

 

    Dim dbCurrent As DAO.Database

    Dim qdf As DAO.QueryDef

    Dim rst As DAO.Recordset

    Dim cnn As Object

    

    Set cnn = CreateObject("Adodb.Connection")

 

  sConnString = "DRIVER={PostgreSQL Unicode(x64)};DATABASE=AccessTest;SERVER=localhost;PORT=5432;UID=postgres;PWD=1234;"

  

  cnn.Open sConnString

    

    Set dbCurrent = DBEngine(0)(0)

    Set qdf = dbCurrent.CreateQueryDef("")

    

    With qdf

        .Connect = sConnString

        .SQL = "select CURRENT_USER;"

        Set rst = .OpenRecordset(dbOpenSnapshot, dbSQLPassThrough)

    End With

   '' InitConnect = True

 

ExitProcedure:

    On Error Resume Next

        Set rst = Nothing

        Set qdf = Nothing

        Set dbCurrent = Nothing

    Exit Sub

ErrHandler:

    ''InitConnect = False

    MsgBox Err.Description & " (" & Err.Number & ") encountered", _

        vbOKOnly + vbCritical, "InitConnect"

    Resume ExitProcedure

    Resume

End Sub

 

And my conf file is in attachment. 

 

Only this strange DSN less conn string is working:

 

 ODBC;DSN=PostgreSQL35W;DATABASE=AccessTest;SERVER=localhost;PORT=5432;*CA=d;A7=100;B0=255;B1=8190;BI=0;C2=;CX=1c305008b;A1=7.4*

 

Why? 

 

Best,

Jacek  

 

 

 

 

 

If you’re using a 32 bit version of MS Access, you need to use the 32 bit ODBC driver not the 64 bit driver.  Try changing the connection string from sConnString = "DRIVER={PostgreSQL Unicode(x64)};DATABASE=AccessTest;SERVER=localhost;PORT=5432;UID=postgres;PWD=1234;" to sConnString = "DRIVER={PostgreSQL Unicode};SERVER=localhost;DATABASE=AccessTest;PORT=5432; UID=postgres;PWD=1234;"

 

Mike

pgsql-general by date:

Previous
From: "Charles Clavadetscher"
Date:
Subject: RE: Question on disk contention
Next
From: pavan95
Date:
Subject: How to get postmaster shut down time in postgres?