Hi, I have a problem when I try to connect with the database H2 through
TCP.
I'm doing this:
Map<String,String> params = new HashMap<String,String>();
//If I use this way, the database is embedded, this has no problem
//params.put(H2DataStoreFactory.DATABASE.key,
"/home/mmassigoge/test");
//When I try this url the result is invalid format
//params.put(H2DataStoreFactory.DATABASE.key,
"jdbc:h2:tcp://localhost:9092/~/test");
//with thi URL the result is invalid file or header
// params.put(H2DataStoreFactory.DATABASE.key,
"jdbc:h2:tcp//localhost:9092/~/test");
params.put(H2DataStoreFactory.DBTYPE.key, "h2");
params.put(H2DataStoreFactory.PORT.key, "9092");
params.put(H2DataStoreFactory.HOST.key, "localhost");
try {
this.datastore = DataStoreFinder.getDataStore(params);
} catch (IOException e) {
e.printStackTrace();
}
I have this exception:
Exception in thread "main" java.lang.RuntimeException: Unable to obtain
connection
at
org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1385)
at org.geotools.jdbc.JDBCDataStore.createTypeNames(JDBCDataStore.java:696)
at
org.geotools.data.store.ContentDataStore.getTypeNames(ContentDataStore.java:270)
at
org.geotools.data.store.ContentDataStore.getNames(ContentDataStore.java:631)
at PruebaConexion.inspeccionar(PruebaConexion.java:76)
at PruebaConexion.main(PruebaConexion.java:46)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Versión del archivo de base de datos no soportada
ó encabezado de archivo invalido en archivo
jdbc:h2:tcp//localhost:9092/~/test.data.db
Unsupported database file version or invalid file header in file
jdbc:h2:tcp//localhost:9092/~/test.data.db [90048-104])
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at
org.geotools.jdbc.JDBCDataStore.createConnection(JDBCDataStore.java:1377)
... 5 more
Caused by: org.h2.jdbc.JdbcSQLException: Versión del archivo de base de
datos no soportada ó encabezado de archivo invalido en archivo
jdbc:h2:tcp//localhost:9092/~/test.data.db
Unsupported database file version or invalid file header in file
jdbc:h2:tcp//localhost:9092/~/test.data.db [90048-104]
at org.h2.message.Message.getSQLException(Message.java:103)
at org.h2.message.Message.getSQLException(Message.java:114)
at org.h2.message.Message.getSQLException(Message.java:77)
at org.h2.engine.Database.isTextStorage(Database.java:278)
at org.h2.engine.Database.open(Database.java:537)
at org.h2.engine.Database.<init>(Database.java:211)
at org.h2.engine.Engine.openSession(Engine.java:57)
at org.h2.engine.Engine.openSession(Engine.java:126)
at org.h2.engine.Engine.getSession(Engine.java:109)
at org.h2.engine.Session.createSession(Session.java:309)
at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:251)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:229)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:111)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:95)
at org.h2.Driver.connect(Driver.java:54)
at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
... 7 more
This database was created with the same JAR that GeoServer through the
console.
With JDBC through TCP I can connect without problem
Class.forName("org.h2.Driver");
Connection conn =
DriverManager.getConnection("jdbc:h2:tcp://localhost:9092/~/test", "", "");
conn.createStatement().executeUpdate("CREATE TABLE BORRAR(id int);");
conn.close();
Thanks!
Ezequiel.
------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users