Subject | Re: Incorrect values within SQLDA structure |
---|---|
Author | Ken Richard |
Post date | 2002-04-05T17:13:18Z |
I found my problem and it was not a driver problem. I had a stored proc
with 20 parameters and I was not filling in one of the fields. The code
worked with interclient - it must initialize all of the parameters for
callable statements to null. The new driver initializes the sqlind to
-1 and the sqldata to null.
You may be able to initialize the sqlind parameter to -1 for
compatibility with interclient. I don't know the spec and cannot
comment on how it should work. It might be better to throw a more
meaningful exception. The case should be pretty easy to detect because
the sqlind is 0 and the sqldata is null and you know the index of the
field that has a problem.
-----Original Message-----
From: Ken Richard [mailto:kenr@...]
Sent: Friday, April 05, 2002 10:33 AM
To: Firebird-Java@yahoogroups.com
Subject: RE: [Firebird-Java] Re: Incorrect values within SQLDA structure
I have just experienced this problem in a different way. I have a
CallableStatement that was being called with stmt.setString(n,"") that
was failing with the same exception. I did not set another value for
the field prior to setting the empty string.
I tracked it back in the code to GDS_Impl.java function isSQLDataOK
method. It appears that the sqlind was set to -1 for the blank field
but the sqldata was not null which caused the GDSException to be thrown.
I was not able to recreate the problem with a simple example. I created
a small program that uses 3 fields to try to recreate the error and it
worked fine - even though my stored procedure (over 20 columns) was
failing.
-Ken
-----Original Message-----
From: rrokytskyy [mailto:rrokytskyy@...]
Sent: Thursday, April 04, 2002 9:32 AM
To: Firebird-Java@yahoogroups.com
Subject: [Firebird-Java] Re: Incorrect values within SQLDA structure
fine for me. BTW, what version of database server do you use?
Thanks!
Roman Rokytskyy
To unsubscribe from this group, send an email to:
Firebird-Java-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
with 20 parameters and I was not filling in one of the fields. The code
worked with interclient - it must initialize all of the parameters for
callable statements to null. The new driver initializes the sqlind to
-1 and the sqldata to null.
You may be able to initialize the sqlind parameter to -1 for
compatibility with interclient. I don't know the spec and cannot
comment on how it should work. It might be better to throw a more
meaningful exception. The case should be pretty easy to detect because
the sqlind is 0 and the sqldata is null and you know the index of the
field that has a problem.
-----Original Message-----
From: Ken Richard [mailto:kenr@...]
Sent: Friday, April 05, 2002 10:33 AM
To: Firebird-Java@yahoogroups.com
Subject: RE: [Firebird-Java] Re: Incorrect values within SQLDA structure
I have just experienced this problem in a different way. I have a
CallableStatement that was being called with stmt.setString(n,"") that
was failing with the same exception. I did not set another value for
the field prior to setting the empty string.
I tracked it back in the code to GDS_Impl.java function isSQLDataOK
method. It appears that the sqlind was set to -1 for the blank field
but the sqldata was not null which caused the GDSException to be thrown.
I was not able to recreate the problem with a simple example. I created
a small program that uses 3 fields to try to recreate the error and it
worked fine - even though my stored procedure (over 20 columns) was
failing.
-Ken
-----Original Message-----
From: rrokytskyy [mailto:rrokytskyy@...]
Sent: Thursday, April 04, 2002 9:32 AM
To: Firebird-Java@yahoogroups.com
Subject: [Firebird-Java] Re: Incorrect values within SQLDA structure
> I can send you my insert statement and my table definition, if youYes, please. I tried all setXXX methods you described, but it works
> want.
fine for me. BTW, what version of database server do you use?
Thanks!
Roman Rokytskyy
To unsubscribe from this group, send an email to:
Firebird-Java-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/