psqlodbc error traced, please help!

From: "Johann Zuschlag" <zuschlag2(at)online(dot)de>
To: "Pgsql-interfaces(at)postgresql(dot)org" <Pgsql-interfaces(at)postgresql(dot)org>
Subject: psqlodbc error traced, please help!
Date: 2001-01-08 20:13:07
Message-ID: E14FifL-00080h-00@mrelay01.kundenserver.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hi,

Sorry, I already sent this, but I didn't get help.

I'm using a commercial application which is crashing while trying to
INSERT sets into tables (using psqlodbc.dll). SELECT works.

I did some tracing:

It crashes in module convert.c / copy_statement_with_parameters
in function:

convert_special_chars(char *si, char *dst, int used)

The access violation appears at:

if (si[i] == '\r' && i+1 < strlen(si) && si[i+1] == '\n')

si = 0x00000001
used = -103

It seems that it runs into an access violation, since 'si' has
been assigned a wrong value. Also 'used = -103' doesn't
seem to be healthy value. 'dst' seems to be alright.

convert_special_chars was called in
copy_statement_with_parameters:

convert_special_chars(buf, &new_statement[npos], used);

'buf' seems to be the same like 'buffer':

So 'used' and 'buffer' where assigned at (in copy_statement_with_parameters):

/* Assign correct buffers based on data at exec param or not */
if ( stmt->parameters[param_number].data_at_exec) {
used = stmt->parameters[param_number].EXEC_used ? *stmt->parameters[param_number].EXEC_used : SQL_NTS;
buffer = stmt->parameters[param_number].EXEC_buffer;
}
else {
used = stmt->parameters[param_number].used ? *stmt->parameters[param_number].used : SQL_NTS;
buffer = stmt->parameters[param_number].buffer;
}

Well, here my knowledge ends. Something seems to be wrong with the ODBC parameters
supplied by my application, but:

Same application works flawless with MS-SQL-ODBC and ORACLE-ODBC.

So IMHO there must be a problem in psqlodbc.dll. Even though I admit that a buggy
call might be accepted in MS-ODBC due to another bug. :-)

Could somebody point me in the correct direction? Any hints? Patches?
Or what else should I trace?

I tried with the standard source and cvs, same error.

By the way, I volunteer to test the driver.

regards

Johann

Browse pgsql-interfaces by date

  From Date Subject
Next Message Mike Cannon-Brookes 2001-01-09 02:40:25 JDBC date problem
Previous Message Tony Simopoulos 2001-01-08 20:12:06 ReadOnly