Nous avons créé une application Java qui utilise la base de données JavaDB dans l'EDI NetBeans. Nous voulons que le programme vérifie chaque fois qu'il démarre si les tables de la base de données ont déjà été créées et sinon les crée. Comment faisons-nous cela? ThanxJavaDB - Vérification de l'existence d'une base de données
6
A
Répondre
6
J'utilise:
DatabaseMetaData metas;
ResultSet tables;
Statement stat;
m_connexion = DriverManager.getConnection("jdbc:derby:mybase;create=true");
metas = m_connexion.getMetaData();
stat = m_connexion.createStatement();
tables = metas.getTables(m_connexion.getCatalog(), null, "MYTABLE", null);
if (!tables.next())
stat.execute(
"CREATE TABLE APP.MYTABLE (" // etc.
... et c'est un travail pour moi.
0
Le test d'Istao pour l'existence d'une table ne fonctionnait pas pour moi avec Derby. La table n'a jamais été trouvée même si elle a déjà été créée. Qu'est-ce qui manque est que vous devez spécifier le TABLE_SCHEM comme "APP", puis définissez le type de table pour inclure "TABLE". Peut-être que l'utilisation de null a fonctionné dans les versions précédentes, mais en utilisant Derby 10.12 ne trouve pas une table précédemment créée avec ces paramètres mis à null.
Connection conn = DriverManager.getConnection(DB_PROTO + DB_NAME + ";create=true");
DatabaseMetaData metas = conn.getMetaData();
ResultSet tables = metas.getTables(conn.getCatalog(), "APP", TABLE_NODES, new String[] {"TABLE"});
if (!tables.next()) {
Statement stat = conn.createStatement();
stat.execute("create table " + ...
Espérons que cela aide quelqu'un d'autre.
Questions connexes
- 1. JavaDB (derby) chemin de la base de données?
- 2. Comment puis-je obtenir le nom de toutes les tables d'une base de données JavaDB?
- 3. Migrer de JavaDB vers PostgreSQL et ne plus avoir accès à la base de données
- 4. Vérification de la restauration de la base de données terminée
- 5. Conception de base de données: Enregistrement et vérification
- 6. Données de base Vérification de NSPredicate pour la valeur BOOL
- 7. Comment déployer une application Java Swing avec une base de données JavaDB intégrée?
- 8. Connexion/vérification d'une base de données MySQL en C#
- 9. Outils d'administration JavaDB
- 10. JavaDB commande SQL reduntant?
- 11. JavaDB/Derby Erreur 08006
- 12. Comment puis-je détecter quelle version de JavaDB/Derby j'utilise?
- 13. Configurer Quercus pour parler à JavaDB
- 14. Démarrer automatiquement JavaDB (Derby) sur GlassFish
- 15. Base de données d'effacement
- 16. PHP à base de contrôle de vérification orthographique
- 17. Vérification des droits d'utilisateur avant de tenter de CRÉER UNE BASE DE DONNÉES
- 18. Vérification de l'identité d'une nouvelle table pour les tests d'unité de base de données
- 19. Vérification de la connectivité de la base de données à l'aide du script Shell
- 20. Nom d'utilisateur/mot de passe Vérification de la base de données
- 21. Vérification de la valeur booléenne NULL de la base de données
- 22. SSRS - Vérification de la nullité des données
- 23. sqlite3_open - problèmes de vérification si un fichier est une base de données sqlite3
- 24. Vérification par rapport à une liste de valeurs dans la base de données
- 25. Renvoie uniquement les nouveaux éléments de la base de données depuis la dernière vérification Rails
- 26. Vérification nulle dans différentes couches (couche de présentation, milieu, base de données)
- 27. Vérification du résultat de la base de données MS Access (VB.NET)
- 28. vérification rapide de l'existence d'une entrée dans une base de données SQL
- 29. Vérification des modifications de la base de données à des intervalles définis dans la page ASP.NET
- 30. C#: vérification de l'enregistrement existant dans la base de données Mysql
duplication possible de [Comment vérifier si une base de données existe dans Hsqldb/Derby?] (Http://stackoverflow.com/questions/3801773/how-to-check-if-a-database-exists-in-hsqldb -derby) – Raedwald
la réponse de garlicman est correcte, que j'ajoute que la recherche de la table doit être en majuscules parce que, malgré que vous avez créé votre table en minuscules, les métadonnées sont en majuscules –