2012-12-22 2 views
1

J'utilise derby intégré dans une application de bureau. Mais lorsqu'il y a un espace dans le chemin de la base de données (dans n'importe quel niveau de répertoires), le pilote derby ne parvient pas à se connecter à la base de données.Derby Intégré avec SPACE dans le chemin de la base de données

Cordialement, :)

mise à jour

public static final String connectionUrl = "jdbc:derby:[path]database;user=app;password=pass;"; 
String path = Utils.getPathOfJar(); 
String dbPath = connectionUrl.replace("[path]", path); 
dbConnection = DriverManager.getConnection(dbPath); 
+0

Pourriez-vous s'il vous plaît montrer manière qui vous passez le chemin de la base de données dans le pilote Derby. – Taky

+0

J'ai mis à jour ma question. – ehsun7b

+0

Quel est votre chemin? Est-ce absolu ou relatif? – Bill

Répondre

0

tout d'abord ce problème se produit uniquement sous Linux.

Le chemin vers la base de données doit être définie dans les propriétés du système comme celui-ci:

derby.system.home

comme ceci:

String path = Utils.getPathOfJar();  
path = path.jarFilePath.replaceAll("%20", "\\ "); 
System.setProperty("derby.system.home", path); 

public static final String connectionUrl = "jdbc:derby:database;user=app;password=pass;"; 
dbConnection = DriverManager.getConnection(connectionUrl); 
Questions connexes