BUG #6287: Unexpected protocol character during authentication

Started by Ramover 14 years ago2 messagesbugs
Jump to latest
#1Ram
ramamohan.raju31@gmail.com

The following bug has been logged online:

Bug reference: 6287
Logged by: Ram
Email address: ramamohan.raju31@gmail.com
PostgreSQL version: don't know
Operating system: Linux
Description: Unexpected protocol character during authentication
Details:

My odbc.ini is like below:
---------------------------
[FH1SQL1]
Description = PostgreSQL connection to 'dbProjNum' database
Driver = /usr/lib64/libodbcpsql.so.2.0.0
Setup = /usr/lib64/libodbcpsqlS.so.1.0.0
Servername = name
Port = 1433
User = xxxxx
Password = yyyyy
Database = db

My odbcinst.ini is like below:
------------------------------
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib64/libodbcpsql.so.2.0.0
Setup = /usr/lib64/libodbcpsqlS.so.1.0.0
FileUsage = 1

When i give the below command i am getting error.

root@x# isql FH1SQL1 xxxx yyy -v
[28000]: [unixODBC]Unexpected protocol character during authentication; Socket has been closed. [ISQL]ERROR: Could not SQLConnect
Socket has been closed.
[ISQL]ERROR: Could not SQLConnect

Please help me in this. it's very urgent

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ram (#1)
Re: BUG #6287: Unexpected protocol character during authentication

"Ram" <ramamohan.raju31@gmail.com> writes:

My odbc.ini is like below:
---------------------------
[FH1SQL1]
Description = PostgreSQL connection to 'dbProjNum' database
Driver = /usr/lib64/libodbcpsql.so.2.0.0
Setup = /usr/lib64/libodbcpsqlS.so.1.0.0

You're apparently using the very obsolete and buggy Postgres ODBC driver
that ships with unixODBC --- or at least used to ship with unixOBC; I
think they ripped it out in the most recent release. Get hold of the
postgresql-odbc package (that's what Red Hat calls it, at least, dunno
about whatever distribution you're using) and use the driver from that
instead.

I usually recommend this configuration for the driver definition:

[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/psqlodbc.so
Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/lib64/psqlodbc.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1

Depending on which build of postgresql-odbc you're using, the driver
library file might be named psqlodbcw.so instead; but in any case
libodbcpsql.so is not something to trust.

regards, tom lane