Microsoft.Data.ODBC, System.Data.ODBC, psqlodbc: where's the bug?

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Microsoft.Data.ODBC, System.Data.ODBC, psqlodbc: where's the bug?

Alberto Velo


I’m running a bad problem with an aspnet application using psqlodbc to connect to a Postgres db. Apparently in a random manner I get a bad “server application unavailable” from my aspnet app, and in Eventlog I find three records:


COM+, event id 4194

The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.

Component Prog ID: 0[ODBC][C:\WINNT\system32\psqlodbc.dll]

Method Name: IDispenserDriver::CreateResource

Process Name: aspnet_wp.exe

The serious nature of this error has caused the process to terminate.

Exception: C0000005

Address: 0x045DFFEF

Call Stack:

psqlodbc!SQLGetDiagFieldW + 0x29F



COM+, Event id 4097

The run-time environment has detected an inconsistency in its internal state. Please contact Microsoft Product Support Services to report this error.  *** Error in __FILE__(926): Application image dump failed.



ASPNET 1.1.4322.0, event id 1000

aspnet_wp.exe  (PID: 3368) stopped unexpectedly.


Postgres is version 7.4.1 running on a Fedora 3 server, aspnet is on a Windows 2000 server.

The same application has been running for over an year on framework 1.0 with Microsoft.Data.Odbc class and psqlodbc 7.03.200.

I’m now using framework 1.1.4322, and tried both Microsoft.Data.Odbc and System.Data.Odbc, with psqlodbc 7.03.200 and the latest 8.00.101 with the same identical result.

Using the odbc driver to trace the error, I found I get this one:


In psqlodbc.log:

CONN ERROR: func=PGAPI_GetInfo30, desc='', errnum=209, errmsg='Unrecognized key passed to SQLGetInfo30.


In mylog:

[1496][SQLGetDiagRecW][1496]PGAPI_GetDiagRec entering rec=1[1496]**** PGAPI_ConnectError: hdbc=66794592 <0>

[1496]enter CC_get_error

[1496]enter CC_create_errormsg

[1496]msg = 'The buffer was too small for the ConnStrOut.


The fact I don’t always get the error brings me to think there’s something due to the size of data a query returns, but I cannot find a way to modify the buffer.

Can anybody help? I really don’t know what to do, is it really an ODBC problem like it appears to be, or should I change something in my code? Is it a MS bug or psqlodbc’s one?

Any help greatly appreciated, thanks.