Apache Derby - Vérifier La Base De Données Déjà Créée?
À l'aide d'Apache Derby avec Java (J2ME, mais je ne pense pas que cela fait une différence) est-il un moyen de vérifier si une base de données existe déjà et contient une table?
Voir aussi stackoverflow.com/questions/584497/...
OriginalL'auteur | 2009-02-25
Vous devez vous connecter pour publier un commentaire.
Je ne connais aucun, à l'exception de quelques travaux autour de, contrairement à MySQL où nous avons des installations de SI EXISTENT.
Ce que vous faites, essayez de vous connecter à la base de données, si ne pouvais pas le son de ses pas. Et après une connexion réussie, vous pouvez faire un select simple, comme SELECT count(*) from TABLE_NAME, pour savoir si la table existe ou pas. Vous serait selon l'exception. Même dans un procès-exemple de Soleil, j'ai vu des travaux similaires autour de.
Dans Oracle, nous avons des tables du dictionnaire de savoir sur les objets de base de données. Je doute que si nous avons quelque chose comme ça dans le Derby.
[Édité]
Bien, j'ai trouvé qu'il y a un moyen de savoir si la table existe. Essayez, SÉLECTIONNEZ le nom de la table DE SYSTABLES. C'est pour vérifier l'existence d'une table, pour la vérification de la base de données vous devrez peut-être faire la même chose, je l'ai expliqué ci-dessus.
OriginalL'auteur Adeel Ansari
Adeel, vous pouvez également utiliser Connexion.getMetaData retour d'un DatabaseMetaData objet, puis utilisez le getTables, une fois que vous avez la connexion à la base de données de cours. Cela a l'avantage de travailler pour une base de données avec un pilote JDBC vaut son sel.
Pour vérifier si la base de données existe, si vous êtes à l'aide de Derby dans le sous-voie, ou que le serveur sur la même machine, vous pouvez vérifier si le dossier de la base de données existe. C'est un peu encombrants. Je ferais comme Adeel suggère et essayez de vous connecter, la capture de l'exception, si elle n'est pas là.
OriginalL'auteur Evan
Je dirais obtenir le DatabaseMetaData objet, puis à l'aide de la getTables(null, null, null, new String[]{"TABLE"}) méthode, qui renvoie un jeu de résultats. Utiliser la méthode next() de l'objet ResultSet, qui retourne un booléen, pour tester si toutes les tables existent. Si il teste vrai, vous avez des tables dans l'existence. Faux, et la base de données est vide.
OriginalL'auteur