Utiliser Apache Derby avec Java (J2ME, mais je ne pense pas que cela fasse une différence) est-il possible de vérifier si une base de données existe déjà et contient une table?Apache Derby - Cochez la base de données déjà créée?
Répondre
Je n'en connais pas, sauf quelques-uns qui fonctionnent, contrairement à MySQL où nous avons cette facilité d'IF EXIST.
Qu'est-ce que vous faites est, essayez de vous connecter à la base de données, si elle ne pourrait pas être son là. Et après une connexion réussie, vous pouvez effectuer une sélection simple, comme SELECT count (*) FROM TABLE_NAME, pour savoir si la table existe ou non. Vous dépendriez de l'exception. Même dans un exemple officiel de Sun, j'ai vu le même travail.
Dans Oracle, nous avons des tables de dictionnaire à connaître sur les objets de base de données. Je doute que nous ayons quelque chose comme ça à Derby.
[Modifié]
Eh bien, je trouve qu'il ya un moyen de savoir si la table existe. Essayez, SELECT nom de table FROM SYSTABLES. C'est pour vérifier l'existence d'une table, pour vérifier la base de données, vous devrez peut-être faire une chose similaire, j'ai expliqué ci-dessus.
Adeel, vous pouvez également utiliser Connection.getMetaData pour retourner un objet DatabaseMetaData, puis utilisez la getTables, une fois que vous avez la connexion à la base de données bien sûr. Cela a l'avantage de fonctionner pour n'importe quelle base de données avec un pilote JDBC qui vaut le coup.
Pour vérifier si la base de données existe, si vous utilisez Derby de manière intégrée ou si le serveur est sur la même machine, vous pouvez vérifier si le dossier de la base de données existe. Est un peu kludgy cependant. Je ferais comme Adeel suggère et essayer de se connecter, attraper l'exception si ce n'est pas là.
Je suggère de récupérer l'objet DatabaseMetaData, puis d'utiliser la méthode getTables (null, null, null, nouvelle chaîne [] {"TABLE"}), qui retourne un ResultSet. Utilisez la méthode next() du ResultSet, qui renvoie un booléen, pour tester si des tables existent. S'il vérifie vrai, vous avez des tables existantes. False, et la base de données est vide.
- 1. netbeans et Apache Derby Embedded + spring
- 2. Liste des connexions actives Apache Derby
- 3. Cochez la bonne case si 'cochée' dans la base de données
- 4. Est-il possible de renommer un nom de table MySQL déjà dans la base de données?
- 5. Limite Derby Taille du fichier journal
- 6. requête pour le contrôle de la base de données est déjà existante
- 7. Table non créée par Hibernate
- 8. jQuery vérifier la base de données mysql si le nom d'utilisateur est déjà pris
- 9. Il existe déjà un objet nommé « tblTable1 » dans la base de données
- 10. LINQ to SQL - La base de données a généré une clé déjà utilisée
- 11. Oracle Lite - Impossible de se connecter à une base de données nouvellement créée. [POL-3013]
- 12. moyen privilégié pour mapper le code avec des entrées utilisateur base de données créée
- 13. comment pouvez-vous afficher ou modifier une base de données créée dans netbeans?
- 14. Cochez toutes les cases
- 15. Restauration de la base de données Postgresql
- 16. Création d'une migration de données à partir de données déjà dans une base de données de test
- 17. Incorporation par programme de la base de données Java h2
- 18. Cochez la case dans une page asax via javascript
- 19. Expérience de l'utilisation de Derby ou HSQL en mode production
- 20. Puis-je ajouter une contrainte UNIQUE à une table PostgreSQL, après qu'elle a déjà été créée?
- 21. delete derby tables à la fin du programme
- 22. Cochez toutes les cases HTML
- 23. Problème lors de l'insertion de données dans une colonne créée dynamiquement de la table
- 24. transfering MySQL Les enregistrements de base de données à la base de données
- 25. Colonne endommagée dans la base de données
- 26. Comment vérifier si la même balise était déjà dans la base de données avec PHP et Mysql?
- 27. ASP.Net: liste déroulante et source de données créée dynamiquement
- 28. Comment préserver la valeur de la colonne gridview dynamique créée
- 29. Set Axis Cochez les étiquettes dans gnuplot
- 30. Meilleure façon de synchroniser la base de données client avec la base de données du serveur
Voir aussi http://stackoverflow.com/questions/584497/apache-derby-check-database-already-created – Raedwald