 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
nwesgroups.borland.com Guest
|
Posted: Wed Mar 30, 2005 6:48 pm Post subject: V5R3 Upgrade Broke dbExpress Queries.... |
|
|
We have just upgraded our AS/400 (iSeries), both new hardware, and new OS.
The OS has been upgraded to V5R3 from V5R1. We use the dbexpca400.dll
dbExpress driver (ver 2.1.11) with "iSeries Access" V5R3 (SI17411) to run
various queries on the AS/400 from an in-house Delphi program.
After the upgrade several dbExpress queries fail when called from our
program. This is the error message that we get:
SQL Server Error: cwbDB_PrepareDescribe returned error code 6048.
Server error class 7 code - 101
Message id: PWS0005
Error occurred in the OS/400 database server code.
Cause....: An error occurred in the OS/400 database server code
which caused the function to not be completed.
Recovery ...: Use F10 (if available) or the Display Joblog...
While most of the queries still work, a few key queries do not and generate
the above error message. No data is returned when this error occours. ALL of
the queries ran without any problems before the iSeries upgrade. The Delphi
programs where not modified in any way.
We narrowed down the errors to three specific select queries. The only
similarity I could find in the three problem queries, that was not found in
other queries that worked, is that they all used "LIKE" statements with
parameters in the WHERE clause.
Example:
SELECT * FROM SomeFile
WHERE AField LIKE :FieldParam
While trying to narrow down the problem, we tried to run the exact SQL
statement being used, directly on the AS/400, and it worked with no error.
The only difference being that the parameter was replaced with a string
value in the SQL code:
Example:
SELECT * FROM SomeFile
WHERE AField LIKE 'TEXT%'
I went into Delphi and modified one of the dbExpress queries so that it
submitted the SQL with hard coded values in the place of the parameters
(like the example above). When I ran the program, this query did not
generate an error, and the correct data (for the hard coded values) was
returned by the query.
For another test, to see if it was a dbExpress specific problem, I created a
BDE Query (iSeries Access ODBC) with the identical SQL code as the problem
dbExpress queries. The queries ran perfectly both with and without
parameters with the BDE/ODBC query.
I believe I have narrowed the problem down to SQL select queries containing
'LIKE' statements with parameters, specifically in dbExpress queries.
I have no idea why this is happening, or how to fix it...other than
generating the SQL run-time with the values hard-coded into the WHERE clause
of the SQL (not ideal). Going back to BDE/ODBC is not an option, as we used
to use that, and run into concurrent connection limitations with the BDE
(that's why we started using dbExpca400.dll). Reverting the iSeries back to
V5R1 is also not an option as other systems (including our ERP) are already
running live on the new iSeries.
If you have any idea what could be causing this, or if you have experienced
this yourself, we would appreciate any insight or suggestions you may have.
Thank you in advance.
Ryan Bruins
Sr. Programmer/Analyst
Retailer Communication Systems
Deeley Harley-Davidson Canada
|
|
| Back to top |
|
 |
Peter Sawatzki Guest
|
Posted: Fri Apr 08, 2005 9:07 am Post subject: Re: V5R3 Upgrade Broke dbExpress Queries.... |
|
|
Ryan,
please let me know if the updated cwbdb.dll from IBM that I sent you
fixed your problem.
Peter
In article <424af489$1 (AT) newsgroups (DOT) borland.com>, [email]RyanBruins (AT) hotmail (DOT) com[/email]
says...
| Quote: | We have just upgraded our AS/400 (iSeries), both new hardware, and new OS.
The OS has been upgraded to V5R3 from V5R1. We use the dbexpca400.dll
dbExpress driver (ver 2.1.11) with "iSeries Access" V5R3 (SI17411) to run
various queries on the AS/400 from an in-house Delphi program.
After the upgrade several dbExpress queries fail when called from our
program. This is the error message that we get:
SQL Server Error: cwbDB_PrepareDescribe returned error code 6048.
Server error class 7 code - 101
Message id: PWS0005
Error occurred in the OS/400 database server code.
Cause....: An error occurred in the OS/400 database server code
which caused the function to not be completed.
Recovery ...: Use F10 (if available) or the Display Joblog...
While most of the queries still work, a few key queries do not and generate
the above error message. No data is returned when this error occours. ALL of
the queries ran without any problems before the iSeries upgrade. The Delphi
programs where not modified in any way.
We narrowed down the errors to three specific select queries. The only
similarity I could find in the three problem queries, that was not found in
other queries that worked, is that they all used "LIKE" statements with
parameters in the WHERE clause.
Example:
SELECT * FROM SomeFile
WHERE AField LIKE :FieldParam
While trying to narrow down the problem, we tried to run the exact SQL
statement being used, directly on the AS/400, and it worked with no error.
The only difference being that the parameter was replaced with a string
value in the SQL code:
Example:
SELECT * FROM SomeFile
WHERE AField LIKE 'TEXT%'
I went into Delphi and modified one of the dbExpress queries so that it
submitted the SQL with hard coded values in the place of the parameters
(like the example above). When I ran the program, this query did not
generate an error, and the correct data (for the hard coded values) was
returned by the query.
For another test, to see if it was a dbExpress specific problem, I created a
BDE Query (iSeries Access ODBC) with the identical SQL code as the problem
dbExpress queries. The queries ran perfectly both with and without
|
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|