From: | "Johann Zuschlag" <zuschlag2(at)online(dot)de> |
---|---|
To: | "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | "Pgsql-interfaces(at)postgresql(dot)org" <Pgsql-interfaces(at)postgresql(dot)org> |
Subject: | Re: wrong values in ODBC parameters? |
Date: | 2001-01-02 20:11:05 |
Message-ID: | E14DXki-0002RQ-00@mrelay01.kundenserver.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
Hi Bruce,
Thanks for your reply.
I tried to build psqlodbc.dll using 7.1 beta1.
Sorry, still the same exception.
Do you have any other ideas, hints,etc.?
Unfortunately I don't know enough about ODBC.
regards
Johann
On Tue, 2 Jan 2001 02:44:58 -0500 (EST), Bruce Momjian wrote:
>Try 7.1 beta1 and see if the bug has been fixed already.
>
>> Hi,
>>
>> now my initial problem:
>>
>> I'm using a commercial application which is crashing while trying to
>> insert sets into tables (using psqlodbc.dll).
>>
>> 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 the buggy
>> call might be accepted in MS-ODBC due to another bug. :-)
>>
>> Could somebody point me in the correct direction? Any hints? Patches?
>> I really would like to use Postgres for my app.
>>
>> regards
>>
>> Johann
>>
>
>--
> Bruce Momjian | http://candle.pha.pa.us
> pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
> + If your life is a hard drive, | 830 Blythe Avenue
> + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Adam Haberlach | 2001-01-02 21:40:30 | Asynchronous interface help? |
Previous Message | Charlie Crissman | 2001-01-02 14:57:22 | RE: pgAdmin |