2013-01-06 5 views
1

Ceci est dans le prolongement de mon précédent questionApache Derby - Base de données créé, mais pas trouvé

J'essaie d'intégrer une base de données derby dans mon application web. Je suis capable de l'intégrer, même si je suis confronté à des problèmes. Voici l'instantané de ma structure de projet.

Project structure

Je me demande pourquoi class.forName("org.apache.derby.jdbc.EmbededDriver") jette exception?

java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbededDriver 

Pour remédier à cela, je l'ai utilisé

DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver()); 

Ce qui fonctionne bien. Pourquoi est-ce vrai? Aussi, où créerait-il la base de données si codé comme ceci. Je ne peux pas repérer la base de données. J'ai vérifié dans tomcat webapps et l'espace de travail eclipse, je n'ai pas trouvé de base de données.

Si donné de cette façon, je peux le repérer.

connection = DriverManager.getConnection("jdbc:derby:E:/MyDbTest;create=true"); 

Répondre

3
class.forName("org.apache.derby.jdbc.EmbededDriver") 

a lancé une exception parce qu'il ya un 'd' manque de embarqués.

Voir ici pour plus d'informations sur la spécification de l'emplacement des bases de données sur le système de fichiers.

connecting to a file-based derby database

+0

Je vois que la base de données est créée dans le répertoire d'installation d'Eclipse. – srk

+0

Lorsqu'il est déployé via tomcat, il crée une base de données dans le répertoire bin de tomcat – srk

+0

Par défaut, il s'agit du répertoire de travail actuel, la plupart des systèmes d'exploitation sur lesquels le programme (eclipse.exe ou java pour tomcat) est lancé. – Bill

Questions connexes