From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Johann Zuschlag <zuschlag2@online.de>
Cc: Pgsql-interfaces@postgresql.org <Pgsql-interfaces@postgresql.org>
Subject: Re: wrong values in ODBC parameters?
Date: Tue, 2 Jan 2001 17:08:17 -0500 (EST)
Message-ID: <200101022208.RAA07120@candle.pha.pa.us> (raw)
In-Reply-To: <E14DXki-0002RQ-00@mrelay01.kundenserver.de>
No ideas, sorry. I don't know much about ODBC. Can you send a
backtrace of the crash? Not sure how to do that from odbc though.
[ Charset ISO-8859-1 unsupported, converting... ]
> 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@candle.pha.pa.us | (610) 853-3000
> > + If your life is a hard drive, | 830 Blythe Avenue
> > + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
>
>
>
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: pgman@candle.pha.pa.us, zuschlag2@online.de
Subject: Re: wrong values in ODBC parameters?
In-Reply-To: <200101022208.RAA07120@candle.pha.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox