2010-08-06 10 views
7

J'ai installé Firebird 2.1 sur Windows XP et j'utilise le pilote firebirdsql.jdbc-2.1.6 pour me connecter à java. Code:Connexion Firebird avec Java

Class.forName("org.firebirdsql.jdbc.FBDriver"); 

connection = DriverManager.getConnection(
    "jdbc:firebirdsql://localhost/3050//C:/firebird/database/EMPLOYEE.FDB", 
    "test","test"); 

Je reçois l'erreur suivante:

 
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544375. 
unavailable database 
Reason: unavailable database at 
org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:122) at 
org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:140) at 
java.sql.DriverManager.getConnection(DriverManager.java:525) at 
java.sql.DriverManager.getConnection(DriverManager.java:171) 

S'il vous plaît aider.

Problème résolu: En fait, j'avait un problème avec le fichier jar que je suis arrivé de

http://mirrors.ibiblio.org/pub/mirrors/maven2

Je téléchargé jaybird plein-2.1.6.jar du site et problème résolu firebird se est offical.

URL correcte est

"jdbc:firebirdsql://localhost:3050/C:\\firebird\\database\\EMPLOYEE.FDB" 

J'ai essayé cette URL plus tôt aussi, mais il ne fonctionnait pas beacuse de problème de pot.

+0

de code reformatée; s'il vous plaît revenir si incorrect. – trashgod

+0

Merci pour le formatage! –

+1

N'ajoutez pas une section "Problème résolu" à la question, postez-la plutôt comme réponse et acceptez-la. Merci! – bluish

Répondre

0

Votre URL est probablement cassée pour ce pilote.

Attachez la source réelle au fichier jar et définissez un point d'arrêt dans FBDataSource.getConnection (...) pour voir les valeurs réellement présentes lors de la tentative de connexion.

Etes-vous absolument certain que la combinaison d'un nom d'hôte avec le port correspond à un chemin d'accès au fichier FDB? Comme @ Thorbjørn Ravn Andersen observe, votre Jaybird JDBC URL est incorrect.

+0

Je suis absolument sûr des paramètres de connexion avec le chemin du fichier FDB. –

1

La syntaxe est jdbc:firebirdsql:[host[/port]:]<database>. Vous avez besoin d'un deux-points entre l'hôte/le port et le chemin de la base de données. Peut-être quelque chose comme ceci:

"jdbc:firebirdsql://localhost/3050:C:\\firebird\database\EMPLOYEE.FDB" 

Oops, je suis parti dans les barres obliques; essayez ceci:

"jdbc:firebirdsql:localhost/3050:C:\\firebird\database\EMPLOYEE.FDB" 

Addendum: Vous pouvez parcourir la liste common errors. En outre, mes fichiers de base de données firebird se terminent par .fdb, mais la FAQ mentionne .gdb. Ça ne peut pas faire de mal de vérifier.

+0

J'ai essayé toutes les options, y compris l'URL spécifiée par vous ... rien ne fonctionne .. –

+0

Firebird fonctionne-t-il sur le port 3050? Pouvez-vous vous connecter par tout autre moyen, par ex. isql ou un client GUI? – trashgod

+0

Je peux me connecter avec isql et flameRobin..it est en cours d'exécution sur 3050 port .. J'ai essayé de créer une nouvelle base de données .. commutation de windows firewall..copying dll dans le système 32 (comme spécifié sur le groupe de support firebird) .. –

0

Pour vous connecter à la base de données située sur la machine distante ou sur le cloud (linux), utilisez le lien suivant.

jdbc: FirebirdSQL: 34.212.208.251/3050: /opt/app/db/sample_training.fdb