DB2
DSN08010
IBM DB2 JDBC Universal Driver Architecture
2.8.46
Short message:
SYSCAT.SCHEMATA IS AN UNDEFINED NAME
The command that caused the problem:
select * from syscat.schemata order by schemaname
It seems that the qualifier / schema SYSCAT does not exist in DB2 on
zOS and our mainframe-support says that there is no definition for it
in the installation-routines.
Does anyone know if there exists an optional-installation-package, so
that I can use the recommended JBDC-driver to access our mainframe-
DB2 ?
Greets
Joerg
The failure of that query has nothing to do with the JDBC driver. The
driver
did it's job of sending whatever SQL you want, and getting you back
what the DBMS sent in reply.
Joe Weinstein at BEA Systems
> On Nov 15, 4:54 am, joerg.sai...@weltbild.com wrote:
>> Hello,
>> recently we migrated on our zOS-System the DB2 from V7 to V8, after
>> the migration we should be able to use the JDBC type 4 driver but we
>> get the following error:
>>
>> DB2
>> DSN08010
>> IBM DB2 JDBC Universal Driver Architecture
>> 2.8.46
>>
>> Short message:
>> SYSCAT.SCHEMATA IS AN UNDEFINED NAME
>>
>> The command that caused the problem:
>> select * from syscat.schemata order by schemaname
>>
>> It seems that the qualifier / schema SYSCAT does not exist in DB2 on
>> zOS and our mainframe-support says that there is no definition for it
>> in the installation-routines.
>>
>> Does anyone know if there exists an optional-installation-package, so
>> that I can use the recommended JBDC-driver to access our mainframe-
>> DB2 ?
>
> The failure of that query has nothing to do with the JDBC driver. The
> driver
> did it's job of sending whatever SQL you want, and getting you back
> what the DBMS sent in reply.
The issue at hand is that the catalog tables on DB2 z/OS are different from
DB2 LUW. Have you tried using the respective JDBC functions instead of
direct queries against the catalog?
--
Knut Stolze
DB2 z/OS Utilities Development
IBM Germany
Hello,
sure it is obvious, that the SQL-statement fails but within the JDBC-
driver architecture I can use e.g. a method called getSchemas on the
Interface DatabaseMetaData, that implicitly executes a DB-dependend
SQL.
Till DB2 V7 I could use this feature without any problems, after the
upgrade to DB2 V8 the exact same feature does not work anymore.
Greets
Joerg
> sure it is obvious, that the SQL-statement fails but within the JDBC-
> driver architecture I can use e.g. a method called getSchemas on the
> Interface DatabaseMetaData, that implicitly executes a DB-dependend
> SQL.
> Till DB2 V7 I could use this feature without any problems, after the
> upgrade to DB2 V8 the exact same feature does not work anymore.
What do you mean with "does not work anymore"? Do you get an error message
if you invoke "getSchemas" etc.? If so, which message?
Hello,
message is the same as in my first posting, here is the long version
(using JCC):
An error occured while executing the database request for:
DB2
DSN08010
IBM DB2 JDBC Universal Driver Architecture
2.8.46
Short message:
SYSCAT.SCHEMATA IS AN UNDEFINED NAME
The command that caused the problem:
select * from syscat.schemata order by schemaname
Long Message:
SYSCAT.SCHEMATA IS AN UNDEFINED NAME
Details:
Type: com.ibm.db2.jcc.a.SqlException
Error Code: -204
SQL State: 42704
1) Nested Exception:
Long Message:
THE DESCRIBE STATEMENT DOES NOT SPECIFY A PREPARED STATEMENT
Details:
Type: com.ibm.db2.jcc.a.SqlException
Error Code: -516
SQL State: 26501
2) Nested Exception:
Long Message:
THE CURSOR SQL_CURLH200C1 IS NOT IN A PREPARED STATE
Details:
Type: com.ibm.db2.jcc.a.SqlException
Error Code: -514
SQL State: 26501
by using the APP-driver:
An error occured while executing the database request for:
DB2
08.01.0000
IBM DB2 JDBC 2.0 Type 2
08.02.0004
Short message:
[IBM][CLI Driver][DB2] SQL0204N "SYSCAT.SCHEMATA" ist ein nicht
definierter Name. SQLSTATE=42704
The command that caused the problem:
select * from syscat.schemata order by schemaname
Long Message:
[IBM][CLI Driver][DB2] SQL0204N "SYSCAT.SCHEMATA" ist ein nicht
definierter Name. SQLSTATE=42704
Details:
Type: COM.ibm.db2.jdbc.DB2Exception
Error Code: -204
SQL State: 42S02
As I mentionned, it seems, that the method getSchema executes the sql
"select * from syscat.schemata" which cannot be resolved because of
the missing syscat-schema and missing view.
My question is why the DB2 V7 on zOS resolves this request when using
the "app-driver" of a DB2 V7.2-Client and after the upgrade to DB2 V8
on zOS and DB2 V8-Client the same request using either "app-driver" or
"jcc-driver" fails with the message above.
Greets
Joerg
> On 19 Nov., 17:14, Knut Stolze <sto...@de.ibm.com> wrote:
>> joerg.sai...@weltbild.com wrote:
>> > sure it is obvious, that the SQL-statement fails but within the JDBC-
>> > driver architecture I can use e.g. a method called getSchemas on the
>> > Interface DatabaseMetaData, that implicitly executes a DB-dependend
>> > SQL.
>> > Till DB2 V7 I could use this feature without any problems, after the
>> > upgrade to DB2 V8 the exact same feature does not work anymore.
>>
>> What do you mean with "does not work anymore"? Do you get an error
>> message
>> if you invoke "getSchemas" etc.? If so, which message?
>
> message is the same as in my first posting, here is the long version
> (using JCC):
>
> An error occured while executing the database request for:
> DB2
> DSN08010
> IBM DB2 JDBC Universal Driver Architecture
> 2.8.46
>
> Short message:
> SYSCAT.SCHEMATA IS AN UNDEFINED NAME
>
> [...]
>
> As I mentionned, it seems, that the method getSchema executes the sql
> "select * from syscat.schemata" which cannot be resolved because of
> the missing syscat-schema and missing view.
> My question is why the DB2 V7 on zOS resolves this request when using
> the "app-driver" of a DB2 V7.2-Client and after the upgrade to DB2 V8
> on zOS and DB2 V8-Client the same request using either "app-driver" or
> "jcc-driver" fails with the message above.
I would suspect that the upgrade to the V8 client caused the issues.
Whether this is expected behavior or not, I do not know. Either the driver
did not figure out correctly that it is communicating with DB2 z/OS, or
something else is amiss.
> My question is why the DB2 V7 on zOS resolves this request when using
> the "app-driver" of a DB2 V7.2-Client and after the upgrade to DB2 V8
> on zOS and DB2 V8-Client the same request using either "app-driver" or
> "jcc-driver" fails with the message above.
Are you sure that you're using the db2java.zip which is delivered with
DB2 V8 on zOS? If you copy the driver to your workstation, you have to
copy it again after each upgrade or fixpack.
Bernd
--
Unsere Identität entnehmen Sie bitte dem beigefügten Auszug aus
den Personenstandsbüchern. Gegen die Assimilierung in unser
Kollektiv ist nach dem ABGB (§66.4) kein Rechtsmittel zulässig.