Hi everybody,
I'm actually using h2database latest version 1.3.176 and I access my db
file that is included in my java project as resources files. When I run my
software from Eclipse, everything works fine, but when I run it from an
exported executable JAR where my db file is included I can't connect to the
DB file and I get an IOException.
Here is the DB_URL that is built in my software using the getResource()
function:
> jdbc:h2:jar:file:/C:/Users/Nemo/Google Drive/Partage/Mes
> Logiciels/Nutrion/Nutrion v0.3.jar!/ca/nutritix/nutrion/resources/FCEN2015"
>
I also tried to add these parameter to my DB_URL with no more success:
> + ";FILE_LOCK=NO;MVCC=FALSE;MV_STORE=FALSE"
>
Here is the message from the exception that is thrown in my software when
run from the exported JAR, just at the moment when I try to connect the
database with the JDBC:
> org.h2.jdbc.JdbcSQLException: IO Exception: "java.io.IOException: La syntaxe
> du nom de fichier, de répertoire ou de volume est incorrecte";
>
> "jar:file:/C:/Users/Nemo/Google Drive/Partage/Mes Logiciels/Nutrion/Nutrion
> v0.3.jar!/ca/nutritix/nutrion/resources/FCEN2015.mv.db" [90031-176]
>
>
Here, I don't understand why the jdbc try to connect to a file with .mv.db
as extension. My file is .h2.db and is connected correctly when run from
Eclipse...
Here is the portion of my code relative to the connection to the db and
first uses of it:
> static final String JDBC_DRIVER = "org.h2.Driver";
> static final String DB_URL = "jdbc:h2:"
> +
> MainApp.class.getResource("resources/FCEN2015.h2.db").getPath().replaceAll(".h2.db",
>
> "").replaceAll("%20", " ");
> static final String USER = "nutrion";
> static final String PASS = "";
>
...
>
Connection conn = null;
> Statement stmt = null;
> String sql = null;
>
> try{
> //Register JDBC driver
> Class.forName(JDBC_DRIVER);
>
> //Open a connection
> System.out.println("*** Connecting to database...");
> conn = DriverManager.getConnection(DB_URL,USER,PASS);
>
> stmt = conn.createStatement();
> sql = "SELECT FOODID, FOODDESCRIPTIONF, SCIENTIFICNAME FROM
> FOOD_NAME";
>
> ResultSet rs = stmt.executeQuery(sql);
> while(rs.next()) {
>
...
>
I wish I gave you enough pertinent and useful details for you to help me
with that.
Sorry if I'm posting for a second time the same message, but I can't see my
first post of earlier today in the group...
Thanks for that great and useful library that is h2database.
A+
Olivier
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.