9
votes

Problème de connexion DB2 avec Java

J'ai un problème avec DB2. Je viens d'installer le DB2 en tant que dB2Admin et avec un mot de passe. Lorsque j'essaie de vous connecter à la base de données, c'est le succès complet et tout en exécutant une simple requête SELECT, cela me donne la suite suivante: -

Erreur SQL DB2: SQLCode = -204, SQLState = 42704, SQLERRMC = dB2Admin.login, pilote = 3.57.82

J'ai une base de données nommée ONP et une table intitulée "Connexion" dans laquelle il existe une table appelée "Connexion" avec deux champs Nom d'utilisateur et mot de passe.

Query que je suis en cours d'exécution

  1. Sélectionnez * à partir de la connexion; me donne une erreur

    Erreur SQL DB2: SQLCode = -204, SQLState = 42704, SQLERRMC = dB2Admin.login, pilote = 3.57.82

    1. Sélectionnez * à partir de system.login; me donne une erreur: - (// système est le nom du schéma)

      Erreur SQL DB2: SQLCode = -551, SQLSTATE = 42501, SQLERRMC = DB2ADMIN; SELECT; SYSTÈME.Login, Driver = 3.57.82

      J'ai essayé toutes les ressources du filet et épuisée complètement. S'il vous plaît aidez-moi


0 commentaires

4 Réponses :


12
votes

Je ne connais pas beaucoup de DB2, mais en recherchant les codes d'erreur ...

La première erreur est parce que vous n'avez pas spécifié de schéma, il ne pouvait donc pas trouver la table de connexion.

objet SQLCODE -204 non défini à DB2

db2 nécessite apparemment que vous spécifiez le nom du schéma ou il ressemble au schéma avec le même nom que votre utilisateur de connexion.

Vous devez utiliser Set Schema ou qualifier complètement le nom de la table.

La seconde erreur est que vous n'avez pas les privilèges pour effectuer ce choix:

sqlcode -551, erreur: n'a pas Le privilège d'effectuer une opération sur Objet

Je ne sais pas pourquoi l'utilisateur DB2Admin ne serait pas capable de choisir dans cette table ...

Ressources:
Liste des DB2 SQLCODES


2 commentaires

-204 indiquerait également que le schéma spécifié dans un nom de table pleinement qualifié est incorrect ou n'existe pas.


Si vous avez une ligne de commande, les informations suivantes aident db2? SQL NNNN où NNNN est le code SQL à 4 chiffres (étendre avec 0 à gauche si nécessaire). Cela imprimera une explication de l'erreur.



1
votes

Vous pouvez également résoudre le problème comme suit:

Donnez simplement l'autorité appropriée à l'utilisateur par lequel vous êtes une connexion à DB2.


0 commentaires

6
votes

Code SQL 551 s'est produit car l'utilisateur de connexion n'a pas de privilèges pour effectuer des opérations.

aller au centre de contrôle - Allez au groupe d'utilisateurs et à l'objet et sélectionnez DB2Admin (supposez que cet utilisateur est celui à utiliser pour se connecter à DB2)

Entrez la description de l'image ici

Cochez la case à la case comme suit

Entrez la description de l'image ici

Accès au schéma de subvention à l'utilisateur Entrez la description de l'image ici

tables de subvention accès à l'utilisateur Entrez la description de l'image ici


0 commentaires

2
votes

J'ai eu le même problème et je l'ai résolu en ajoutant un schéma dans mon entité: xxx


2 commentaires

Merci @ilias, cela résolut mon problème.


Cela fonctionne très bien avec DB2 mais pas avec la base de données H2, aucune idée pourquoi?