Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sysibm.sqltables returns an error SQLSTATE with "SYSIBM:CLI:-805"

704 views
Skip to first unread message

william of ockham

unread,
Mar 11, 2003, 12:18:35 PM3/11/03
to
Hi,

I'm working on a W2K system and accessing a Linux server running IBM
DB2 8.1. I have a problem accessing the built-in stored procedures
like 'sysibm.sqltables' and 'sysibm.sqlprocedurecols'. The error
message returned by/via ODBC is:

SQLSTATE: 38553
Native: -443
Message: [IBM][CLI Driver][DB2/LINUX] SQL0443N Routine
"SYSIBM.SQLTABLES" (specific name "TABLES") has returned an error
SQLSTATE with diagnostic text "SYSIBM:CLI:-805". SQLSTATE=38553

I use Trinc-Prolog which accesses the database via a generic Windows
ODBC interface and it wants to query the database catalog tables. This
used to work on our previous setup using DB2 7.x.

I'm not a DB guru but I get the feeling that the problem is with
execution rights, package bindings ... but I can't find the cause...

Accessing other tables/views is not a problem, that works perfectly.


Regards and thanks,
William

Douglas Doole

unread,
Mar 12, 2003, 10:25:56 AM3/12/03
to
Doing a "db2 ? sql0805" reveals that a package isn't being found. I'd
suggest connecting to the database from the Linux server and then doing:
cd sqllib/bnd
db2 bind @db2ubind.lst
db2 bind @db2cli.lst

--
_____________________________________________________________________
Doug Doole
DB2 Universal Database Development
IBM Toronto Labs

DB2 UDB v8.1 is available for AIX, HP, Linux, Solaris and Windows
http://www-3.ibm.com/software/data/db2/udb/v8/

Visit the DB2 UDB and DB2 Connect Online Support site at:
http://www.ibm.com/software/data/db2/udb/winos2unix/support

william of ockham

unread,
Mar 13, 2003, 3:45:28 AM3/13/03
to
Douglas Doole <do...@ca.ibm.com> wrote in message news:<b4njic$h1k$1...@hanover.torolab.ibm.com>...

Thank you for your hint, my error was binding at the client and not at
the server. However I still get error messages when I execute a
built-in stored procedure like "sysibm.sqltables"

I call the ODBC function "SQLTables(....)" with the following
arguments:
SQLTables(_Handle, NULL, 0, NULL, 0, NULL, 0, (SQLCHAR*)Arg.Val(),
(SQLSMALLINT)Arg.StrLen());

The string object "Arg" contains the value "TABLE". I get the same
result with or without specifying a catalog schema name.

Could it have anything to do with our server setup, it is installed as
a partitioned system with 3 partitions and the catalog is in a
separate partition from the other application tables. Or should I
specify a catalog name when I call "SQLTables"?

Already many thanks for your previous reply.

Regards,
William

Douglas Doole

unread,
Mar 13, 2003, 10:19:44 AM3/13/03
to
Sorry, can't help you here - I'm not familiar with the specifics of that
procedure.

Knut Stolze

unread,
Mar 13, 2003, 11:14:48 AM3/13/03
to
william of ockham wrote on Thursday 13 March 2003 09:45:

> Douglas Doole <do...@ca.ibm.com> wrote in message
> news:<b4njic$h1k$1...@hanover.torolab.ibm.com>...
>> Doing a "db2 ? sql0805" reveals that a package isn't being found. I'd
>> suggest connecting to the database from the Linux server and then doing:
>> cd sqllib/bnd
>> db2 bind @db2ubind.lst
>> db2 bind @db2cli.lst
>>
>> --
>> _____________________________________________________________________
>> Doug Doole
>> DB2 Universal Database Development
>> IBM Toronto Labs
>>
>> DB2 UDB v8.1 is available for AIX, HP, Linux, Solaris and Windows
>> http://www-3.ibm.com/software/data/db2/udb/v8/
>>
>> Visit the DB2 UDB and DB2 Connect Online Support site at:
>> http://www.ibm.com/software/data/db2/udb/winos2unix/support
>
> Thank you for your hint, my error was binding at the client and not at
> the server. However I still get error messages when I execute a
> built-in stored procedure like "sysibm.sqltables"
>
> I call the ODBC function "SQLTables(....)" with the following
> arguments:
> SQLTables(_Handle, NULL, 0, NULL, 0, NULL, 0, (SQLCHAR*)Arg.Val(),
> (SQLSMALLINT)Arg.StrLen());

Ah, you are not calling a stored procedure but a CLI (ODBC) function...

What is the error message you get? Did you have a look at the CLI Reference
to see what the error means and what the problem could be?

--
Knut Stolze
Information Integration
IBM Germany / University of Jena

PM (pm3iinc-nospam)

unread,
Mar 14, 2003, 2:37:06 AM3/14/03
to
One thing i found is :

sqltables procedure is part of db2schema.dll
there is a db2schema.bnd file that should be
Creator "NULLID "
App Name "SQLL9E0L"
(personnaly i can't find it but it doesn't mean anything.)

db2schema.bnd is not part of any .lst file in the /bnd directory.

Could it be we need to manually bind this one?
(or maybe it should be bound automatically by some setup procedure, .. ???)

my setup is on windows and db2level is
DB21085I Instance "DB2" uses "32" bits and DB2 code release "SQL08010" with
level identifier "01010106".
Informational tokens are "DB2 v8.1.0.36", "s021023", "", and FixPak "0".
(you may have a different version)

PM


william of ockham

unread,
Mar 14, 2003, 8:16:35 AM3/14/03
to
Knut Stolze <sto...@de.ibm.com> wrote in message news:<b4qapo$j8e$1...@fsuj29.rz.uni-jena.de>...

> Ah, you are not calling a stored procedure but a CLI (ODBC) function...
>
> What is the error message you get? Did you have a look at the CLI Reference
> to see what the error means and what the problem could be?

The CLI reference does not contain the error returned, in the message
reference volume 2 of DB2 is the explanation of sqlcode -805:

Package with the <package name> was not found ... the necessary
package was not found .... If attempting to run a DB2 utility or CLI
application, the DB2 utilities may need to be rebound to the database.

In the documentation there is suggestion to run a command that binds
the utilities and db2cli functions again

I executed the following SQL statement:
SELECT PKGSCHEMA, PKGNAME,
PKGVERSION, UNIQUE_ID
FROM SYSCAT.PACKAGES;

The result table shows that the version column is empty for every
package so I don't think it has to do with package versions.

Any hints on things to check/change?

Regards and thanks

William

Tom Johnston

unread,
Mar 14, 2003, 6:14:38 PM3/14/03
to
What does it mean to get the exact same error using JDBC thick client ???
can't find any info anywhere except this thread!

thanks..

Tom Johnston
TJoh...@metamatrix.com

"PM \(pm3iinc-nospam\)" <Pm3iinc...@sympatico.ca> wrote in message news:<V9fca.25$Kg1....@news20.bellglobal.com>...

PM (pm3iinc-nospam)

unread,
Mar 16, 2003, 11:41:44 PM3/16/03
to

"Tom Johnston" <goo...@SarChrisTechnologies.com> a écrit dans le message de
news: 244d87b7.03031...@posting.google.com...

> What does it mean to get the exact same error using JDBC thick client ???
> can't find any info anywhere except this thread!
>

It just means that there is a package missing. (something isn't bound)
Whatever you did, you tried to access something in that package.
(could be metadata access, ...)
The jdbc implementation of your driver may need access to that procedure.

PM


0 new messages