Thread: psqlodbc-08_00_0102 and LATIN1 database

psqlodbc-08_00_0102 and LATIN1 database

From
Laurent Constantin
Date:
Hello,

A character encoding error arises with psqlodbc-08_00_0102. It was ok
with psqlodbc-08_00_0101. By switching files psqlodbc.dll of both
versions, problem appears/disappears, so I'm almost sure some change
between 0101 and 0102 causes the error.

I have a LATIN1 database :
# psql -l
       List of databases
   Name    | Owner  | Encoding
-----------+--------+-----------
 vulne     | abcd   | LATIN1
# psql --version
psql (PostgreSQL) 8.0.3

I use a French (latin1, ISO-8859-1) version of Access 2000.

In the way PostgreSQL ==> Access :
  With version 0102, characters are converted from LATIN1 to unicode.
  So, all my French accent characters, stored in the database, "eats"
  following letters. For example :
     exécuter
  is displayed in Access as :
     ex[]ter   (the [] means a black box)
In the way Access ==> Postgresql :
  With version 0102, caracters are converted from unicode to LATIN1.
  So, if I enter a French accent in Access, a strange char is stored
  in PostgreSQL.

There is no error message.

Attached, you'll find log files.

In order to work, I reinstalled psqlodbc-08_00_0101, so you don't have
to hurry for me :). However, this is a blocking problem if I want to
install a future version of psqlodbc.

Don't hesitate to contact me. I am at your disposal to test any dll you
may send to me.

PS: I couldn't find the changelog to see what kind of change could have
caused this.

Thanks,

Regards,
Laurent Constantin
--
 laurent.constantin@aql.fr                [principal/main]
 http://www.laurentconstantin.com/        [principal/main]
 laurentconstantin@free.fr                [secondaire/backup]
 http://go.to/laurentconstantin/          [secondaire/backup]
 http://laurentconstantin.est-la.com/     [secondaire/backup]

CONN ERROR: func=PGAPI_GetConnectOption, desc='fOption=30002', errnum=205, errmsg='Unknown connect option (Get)'
            ------------------------------------------------------------
            henv=151068560, conn=151074464, status=0, num_stmts=16
            sock=151068616, stmts=151068688, lobj_type=-999
            ---------------- Socket Info -------------------------------
            socket=-1, reverse=0, errornumber=0, errormsg='(NULL)'
            buffer_in=151085480, buffer_out=151093680
            buffer_filled_in=0, buffer_filled_out=0, buffer_read_in=0
conn=151074464, PGAPI_DriverConnect(
in)='DSN=vigi_vulne;UID=Admin;PWD=;DATABASE=vulne;SERVER=192.168.100.4;PORT=5432;A6=;A7=100;A8=8192;B0=254;B1=8190;BI=0;C2=dd_;CX=1b8103ac;',
fDriverCompletion=0
DSN info: DSN='vigi_vulne',server='192.168.100.4',port='5432',dbase='vulne',user='Admin',passwd='xxxxx'
          onlyread='0',protocol='6.4',showoid='0',fakeoidindex='0',showsystable='0'
          conn_settings='',conn_encoding='OTHER'
          translation_dll='',translation_option=''

[1060]globals.extra_systable_prefixes = 'dd_;'
[1060][[SQLAllocHandle]][1060]**** in PGAPI_AllocEnv **
[1060]** exit PGAPI_AllocEnv: phenv = 151068560 **
[1060][[SQLSetEnvAttr]] att=200,2
[1060][[SQLAllocHandle]][1060]PGAPI_AllocConnect: entering...
[1060]**** PGAPI_AllocConnect: henv = 151068560, conn = 151074464
[1060]EN_add_connection: self = 151068560, conn = 151074464
[1060]       added at i =0, conn->henv = 151068560, conns[i]->henv = 151068560
[1060][SQLGetInfoW(30)][1060]PGAPI_GetInfo: entering...fInfoType=77
[1060]PGAPI_GetInfo: p='03.00', len=10, value=0, cbMax=12
[1060][SQLSetConnectAttrW][1060]PGAPI_SetConnectAttr 103
[1060]PGAPI_SetConnectOption: entering fOption = 103 vParam = 20
[1060][SQLGetConnectAttrW][1060]PGAPI_GetConnectAttr 30002
[1060]PGAPI_GetConnectOption: entering...
[1060]CONN ERROR: func=PGAPI_GetConnectOption, desc='fOption=30002', errnum=205, errmsg='Unknown connect option (Get)'
[1060][SQLSetConnectAttrW][1060]PGAPI_SetConnectAttr 30002
[1060]PGAPI_SetConnectOption: entering fOption = 30002 vParam = 149754920
[1060]Microsoft Jet !!!!
[1060][SQLDriverConnectW][1060]PGAPI_DriverConnect: entering...
[1060]**** PGAPI_DriverConnect: fDriverCompletion=0,
connStrIn='DSN=vigi_vulne;UID=Admin;PWD=;DATABASE=vulne;SERVER=192.168.100.40;PORT=5432;A6=;A7=100;A8=8192;B0=254;B1=8190;BI=0;C2=dd_;CX=1b8103ac;'
[1060]our_connect_string =
'DSN=vigi_vulne;UID=Admin;PWD=;DATABASE=vulne;SERVER=192.168.100.40;PORT=5432;A6=;A7=100;A8=8192;B0=254;B1=8190;BI=0;C2=dd_;CX=1b8103ac;'
[1060]attribute = 'DSN', value = 'vigi_vulne'
[1060]copyAttributes:
DSN='vigi_vulne',server='',dbase='',user='',passwd='xxxxx',port='',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'UID', value = 'Admin'
[1060]copyAttributes:
DSN='vigi_vulne',server='',dbase='',user='Admin',passwd='xxxxx',port='',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'PWD', value = 'xxxxx'
[1060]copyAttributes:
DSN='vigi_vulne',server='',dbase='',user='Admin',passwd='xxxxx',port='',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'DATABASE', value = 'vulne'192.168.100.4
[1060]copyAttributes:
DSN='vigi_vulne',server='',dbase='vulne',user='Admin',passwd='xxxxx',port='',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'SERVER', value = '192.168.100.4'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'PORT', value = '5432'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'A6', value = ''
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'A7', value = '100'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'A8', value = '8192'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'B0', value = '254'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'B1', value = '8190'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'BI', value = '0'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'C2', value = 'dd_'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='',protocol='',conn_settings='',disallow_premature=-1)
[1060]attribute = 'CX', value = '1b8103ac'
[1060]copyAttributes:
DSN='vigi_vulne',server='192.168.100.4',dbase='vulne',user='Admin',passwd='xxxxx',port='5432',onlyread='0',protocol='6.4',conn_settings='',disallow_premature=1)
[1060]globals.extra_systable_prefixes = 'dd_;'
[1060]our_connect_string =
'DSN=vigi_vulne;UID=Admin;PWD=;DATABASE=vulne;SERVER=192.168.100.4;PORT=5432;A6=;A7=100;A8=8192;B0=254;B1=8190;BI=0;C2=dd_;CX=1b8103ac;'
[1060]attribute = 'DSN', value = 'vigi_vulne'
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'UID',
value= 'Admin' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'PWD',
value= 'xxxxx' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute=
'DATABASE',value = 'vulne' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'SERVER',
value= '192.168.100.4' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'PORT',
value= '5432' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'A6',
value= '' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'A7',
value= '100' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'A8',
value= '8192' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'B0',
value= '254' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'B1',
value= '8190' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'BI',
value= '0' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_;[1060]attribute= 'C2',
value= 'dd_' 
[1060]CopyCommonAttributes:
A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_[1060]attribute= 'CX', value
='1b8103ac' 
[1060]CopyCommonAttributes: A7=100;A8=8192;A9=0;B0=254;B1=8190;B2=0;B3=0;B4=1;B5=1;B6=0;B7=1;B8=0;B9=0;C0=0;C1=0;C2=dd_