[ psqlodbc-Bugs-1000478 ] Cannot create DNS using odbcconf.exe utility in Windows

[ psqlodbc-Bugs-1000478 ] Cannot create DNS using odbcconf.exe utility in Windows

am 14.12.2005 01:58:11 von noreply

Bugs item #1000478, was opened at 2005-12-09 15:51
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=10004 78&group_id=1000125

Category: None
Group: None
>Status: Closed
>Resolution: Accepted
Priority: 3
Submitted By: Nobody (None)
>Assigned to: Ludek Finstrle (luf)
Summary: Cannot create DNS using odbcconf.exe utility in Windows

Initial Comment:
odbcconf.exe /Ld "dsn_llxatnf.txt" /A {CONFIGSYSDSN "PostgreSQL Unicode" "DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"} /A {CONFIGDSN "PostgreSQL Unicode" "DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"}

Returns code 0xC0000005.
dsn_llxatnf.txt file:

============================================================ ==============

ODBCConf called with arguments: '/Ld "F:\PCCorsacSQL\dsn_llxatnf.txt" /A {CONFIGSYSDSN "PostgreSQL Unicode" "DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"} /A {CONFIGDSN "PostgreSQL Unicode" "DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"}'
Data Struct:
Reboot First : 0
Use Response File : 0
Response File : '(null)'
Erase Response File: 0
Silent : 0
Continue on Error : 0
Log Mode : 3
Log File : 'F:\PCCorsacSQL\dsn_llxatnf.txt'
Actions:
4, 'CONFIGSYSDSN', 'PostgreSQL Unicode', 'DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;', '"PostgreSQL Unicode" "DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"'
2, 'CONFIGDSN', 'PostgreSQL Unicode', 'DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;', '"PostgreSQL Unicode" "DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"'
EXECUTING ACTIONS

Executing Action: CONFIGSYSDSN
arg1: 'PostgreSQL Unicode'
arg2: 'DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;'
args: '"PostgreSQL Unicode" "DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"'
CONFIGSYSDSN About to Load the ODBC Control Panel (odbccp32.dll)
CONFIGSYSDSN ODBC Control panel (odbccp32.dll) HINSTANCE: 1609039872
CONFIGSYSDSN SQLConfigDataSource ProcAddress: 1609118722

============================================================ ==============

There's nothing wrong but this simply not work. I don't have any idea why.


------------------------------------------------------------ ----------

>Comment By: Ludek Finstrle (luf)
Date: 2005-12-14 01:58

Message:
I add this new feature to psqlodc. You can try attached patch againist CVS source. If you can't compile psqlODBC please try psqlodbc-8.01.0105 when it's released (I think it could be at the end of week).

------------------------------------------------------------ ----------

Comment By: Nobody (None)
Date: 2005-12-12 11:24

Message:
odbconf.exe as input takes pairs keyword-value separated by ";". This string is DIRECTLY distributed to ConfigDSN driver function. ConfigDSN function requires that pairs keyword-value are separated by NULL character (\0). So DSN takes too long value (test1;SERVER=testowy;....) and max DSN name is 32. DSN name is copied over allocated buffer. GlobalFree genearates access violation.

This is not an error. Odbcconf.exe should translate specifed keyword-value pairs as null-separated strings. On the other hand Odbcconf.exe works well with MyODBC driver and many comercial drivers. Maybe PostgreODBC should also accept pairs keyword-value separated by ";"?



------------------------------------------------------------ ----------

Comment By: Nobody (None)
Date: 2005-12-12 10:08

Message:
8.01.0104 version still doesn't work with odbcconf.exe. I've trying to create mylog output and there are results:

[1908]globals.extra_systable_prefixes = 'dd_;'
[1908]aszKey='DSN', value='test1;SERVER=testowy;PORT=5432;DATABASE=szakal;UID=po stgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;Text AsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;Debug=1'
[1908]copyAttributes: DSN='test1;SERVER=testowy;PORT=5432;DATABASE=szakal;UID=post gres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAs LongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;Debug=1',ser ver='',dbase='',user='',passwd='xxxxx',port='',sslmode='',on lyread='',protocol='',conn_settings='',disallow_premature=-1 )

Not so much as you see.
Return code 0xC0000005 = access violation.
Windows XP SP2.




------------------------------------------------------------ ----------

Comment By: Ludek Finstrle (luf)
Date: 2005-12-09 23:22

Message:
Please try new development snapshot (8.01.0104). If it doesn't work please post mylog output to pgsql-odbc mailing list.

------------------------------------------------------------ ----------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=10004 78&group_id=1000125

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings