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

From
Subject [ psqlodbc-Bugs-1000478 ] Cannot create DNS using odbcconf.exe utility in Windows
Date
Msg-id 20051214005811.353841125073@pgfoundry.org
Whole thread Raw
List pgsql-odbc
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=1000478&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=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"}
/A{CONFIGDSN "PostgreSQL Unicode"
"DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=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=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"}
/A{CONFIGDSN "PostgreSQL Unicode"
"DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=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=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;',
'"PostgreSQLUnicode"
"DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"'
        2, 'CONFIGDSN', 'PostgreSQL Unicode',
'DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;',
'"PostgreSQLUnicode"
"DSN=test2;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;"'
EXECUTING ACTIONS

Executing Action: CONFIGSYSDSN
         arg1: 'PostgreSQL Unicode'
         arg2:
'DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;'
         args: '"PostgreSQL Unicode"
"DSN=test1;SERVER=testowy;PORT=5432;DATABASE=testdb;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=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
trypsqlodbc-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
driverfunction. ConfigDSN function requires that pairs keyword-value are separated by NULL character (\0). So DSN takes
toolong value (test1;SERVER=testowy;....) and max DSN name is 32. DSN name is copied over allocated buffer. GlobalFree
genearatesaccess violation. 

This is not an error. Odbcconf.exe should translate specifed keyword-value pairs as null-separated strings. On the
otherhand Odbcconf.exe works well with MyODBC driver and many comercial drivers. Maybe PostgreODBC should also accept
pairskeyword-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=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;Debug=1'
[1908]copyAttributes:
DSN='test1;SERVER=testowy;PORT=5432;DATABASE=szakal;UID=postgres;PWD=postgres;Protocol=6.4;UseServerSidePrepare=1;TextAsLongVarchar=1;ByteaAsLongVarBinary=1;ReadOnly=0;Debug=1',server='',dbase='',user='',passwd='xxxxx',port='',sslmode='',onlyread='',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=1000478&group_id=1000125

pgsql-odbc by date:

Previous
From: Ludek Finstrle
Date:
Subject: Patch for 1000478 Cannot create DNS using odbcconf.exe utility in Windows
Next
From:
Date:
Subject: [ psqlodbc-Bugs-1000481 ] VFP and SQLCancel