I found that the password can't contain the % character, and the other special 
characters (* , $) are no problem.










At 2022-10-12 16:28:51, "gzh" <gzhco...@126.com> wrote:




PostgreSQL version: 13.5

Operating system:   windows 10

Description:        




I wrote a VBA application to connect to PostgreSQL database by psqlodbc.

The application works fine when there are no special characters in the password.

When the password contains special characters (e.g. * , $ %),

the application responds with an error below:




Number: -2147467259 

Description: password authentication failed for user 'testdb'




I made an sample as below:




VBA

----------------------------- START ---------------------------------




Sub dbconnTest()

    Dim rs As ADODB.Recordset

    Dim sql As String

    Dim i As Integer

    Dim rcnt As Integer 

    

    Set cnn = New ADODB.Connection

    cnn.Open "Provider=MSDASQL;Driver=PostgreSQL 
Unicode;UID=postgres;port=5432;Server=localhost;Database=testdb;PWD=Gd*oB,$3Ln%pQ"

    

    Set rs = New ADODB.Recordset

    sql = "SELECT * FROM testtbl"

    

    rs.ActiveConnection = cnn

    rs.Source = sql

    rs.Open

    

    cnt = rs.Fields.Count

    rcnt = 2

    

    Do Until rs.EOF

        For i = 0 To cnt - 1

            Cells(rcnt, i + 1).Value = rs.Fields(i)

        Next

    

        rcnt = rcnt + 1

        rs.MoveNext

    Loop

    

    Set rs = Nothing

    Set cnn = Nothing

End Sub




----------------------------- END ---------------------------------







Thanks for any help!

Reply via email to