IBM Db2 net pilote d'erreur SQL. Ne pas trouver le nom de la table?
à partir de cette requête:
select * from table
Je reçois des messages d'erreur suivants:
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
Des suggestions sur la façon d'étudier le problème est beaucoup apprécié.
Vous devez vous connecter pour publier un commentaire.
Au premier coup d'œil, il semble que DB2 n'est pas de trouver que le nom de la table sous le
webuser
schéma, ou le schéma actuel de l'utilisateur connecté ne correspond pas au schéma de la table. Essayez:Si cela échoue, alors il n'existe probablement pas, en vertu de la
webuser
schéma, donc essayez de trouver ce schéma, il existe en vertu de l'.Vous pouvez souvent trouver des informations pour sql codes d'erreur dans le IBM DB2 infocenter ou sur la DB2 UDB ligne de commande comme:
Vous pouvez rechercher une erreur de cette façon:
où
nnnnn
est le code d'erreur.Vous pouvez également trouver des informations sur le code d'erreur sql à partir de db2 en faisant une recherche sur google sans y compris le
-
depuis que google supprime le terme avec un tableau de bord en face des résultats de recherche. Donc, recherche poursql code 204
et passql code -204
.Vous pouvez généralement trouver une liste de toutes les tables sous
sysibm.tables
ousyscat.tables
en fonction du type de système de (z/OS ou UDB) que vous exécutez, et également en fonction de si l'db2 administrateur a restreint l'accès à ces tables de catalogue.Si vous êtes en cours d'exécution contre un UDB exemple, essayez:
Je suis en supposant bien sûr que vous ne les attendez pas la table pour être nommé
table
. Je pense que c'est une restriction de mot sous db2 ou de la norme SQL-92.Si vous arriver à être en cours d'exécution d'une procédure stockée qui exécute la requête, alors vous ne pouvez pas voir le véritable erreur de la requête. Procédures stockées souvent de retourner un autre code d'erreur qu'une requête à l'intérieur de la procédure stockée serait, à moins qu'ils sont programmés pour attraper et retourner le sqlcode et sqlstate de la requête elle-même.
En outre, je vois que vous êtes l'obtention d'un sqlcode de -727, avec un message de code de 2. La documentation qui dit:
où l'action-type est de 2: implicite de préparer une mise en cache dynamique instruction SQL
Informations cette erreur est moins simple et plus à l'écoute pour un Administrateur de Base de données. Il peut être utile, mais je voudrais essayer les autres suggestions d'abord. Cela peut signifier que certains paquets ne sont pas liés à la base de données (comme ceux pour votre conducteur net) ou que certaines autorisations dans la base de données ne sont pas correctes ou d'un package de correctifs n'a pas été appliqué correctement et il manque des procédures de base de données. Cependant, il pourrait également être provoquée par la -204 et juste à la suite de l'erreur.
SQLCODE=-727, SQLSTATE=56098
peut se produire si il y a une faute de frappe dans l'un des noms de colonnes dans l'instruction select.