from this query:
select * from table
I get the following error messages:
Error: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=webuser.table, DRIVER=4.8.87
SQLState: 42704
ErrorCode: -204
Error: DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;webuser.table, DRIVER=4.8.87
SQLState: 56098
ErrorCode: -727
Any suggestions for how to investigate the problem is much appreciated.
SQLCODE=-727, SQLSTATE=56098
may happen if there is a typo in one of the column names in the select statement.At first glance, it seems that DB2 is not finding that table name under the
webuser
schema, or the schema of the current connected user does not match the schema for the table. Try:If that fails, then it probably does not exist under the
webuser
schema, so try to find out what schema it does exist under.You can often find information for sql error codes in the IBM DB2 infocenter or on the DB2 UDB command line like so:
You can look up any error this way:
where
nnnnn
is the error code.You can also often find information on sql error code from db2 by searching on google without including the
-
since google removes the term with a dash in front from the search results. So, search forsql code 204
and notsql code -204
.You can usually find a list of all the tables under
sysibm.tables
orsyscat.tables
depending on what type of system (z/OS or UDB) you are running on, and also depending on if the db2 administrator has restricted access to those catalog tables.If you are running against a UDB instance, try:
I'm assuming of course that you are not expecting the table to be named
table
. I would think that is a restricted word under db2 or the SQL-92 standard.If you happen to be running a stored procedure that runs that query, then you may not be seeing the true error from the query. Stored procedures often return a different error code than a query inside the stored procedure would, unless they are programmed to catch and return the sqlcode and sqlstate from the query itself.
Additionally, I see that you are getting a sqlcode of -727, with a message code of 2. The documentation for that says:
where the action-type is 2: implicit prepare of a cached dynamic SQL statement
This error information is less straightforward and more tuned for a Database Administrator. It may end up being useful but I would try the other suggestions first. It may mean that certain packages are not bound to the database (like the ones for your net driver) or that certain permissions in the database are not correct or a fixpack was not applied correctly and there are missing database procedures. However, it could also be caused by the -204 and just be a subsequent error.