Feature not supported: write [50100-111] [90034-111]

147 views
Skip to first unread message

Tomek Maciejewski

unread,
Apr 12, 2009, 7:36:22 PM4/12/09
to H2 Database
Hi,
I am new to H2 database. It seems quiet interesting DB but I struggle
with one thing. Because my database is quiet small, I would like to
compress it into zip archive. Compression seems to work ok. But then I
have a problem with Hibernate. When I try to connect to compressed
database, I get an error:

1469 [AAA] INFO
org.hibernate.connection.DriverManagerConnectionProvider - using
driver: org.h2.Driver at URL: jdbc:h2:zip:database/database.jar!/
evidence;TRACE_LEVEL_FILE=0;TRACE_LEVEL_SYSTEM_OUT=3;TRACE_MAX_FILE_SIZE=0
1469 [AAA] INFO
org.hibernate.connection.DriverManagerConnectionProvider - connection
properties: {user=asdf, password=****}
org.h2.jdbc.JdbcSQLException: Log file error: zip:database/
database.jar!/evidence.trace.db, cause: org.h2.jdbc.JdbcSQLException:
Cecha nie jest wspierana: write
Feature not supported: write [50100-111] [90034-111]
at org.h2.message.Message.getSQLException(Message.java:107)
at org.h2.message.TraceSystem.logWritingError(TraceSystem.java:276)
at org.h2.message.TraceSystem.openWriter(TraceSystem.java:296)
at org.h2.message.TraceSystem.<init>(TraceSystem.java:111)
at org.h2.engine.Database.open(Database.java:517)
at org.h2.engine.Database.openDatabase(Database.java:223)
at org.h2.engine.Database.<init>(Database.java:218)
at org.h2.engine.Engine.openSession(Engine.java:57)
at org.h2.engine.Engine.openSession(Engine.java:139)
org.h2.jdbc.JdbcSQLException: Log file error: zip:database/
database.jar!/evidence.trace.db, cause: org.h2.jdbc.JdbcSQLException:
Cecha nie jest wspierana: write
Feature not supported: write [50100-111] [90034-111]

at org.h2.engine.Engine.getSession(Engine.java:119)
at org.h2.engine.SessionFactoryEmbedded.createSession
(SessionFactoryEmbedded.java:17)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer
(SessionRemote.java:248)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:226)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:106)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:90)
at org.h2.Driver.connect(Driver.java:58)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at
org.hibernate.connection.DriverManagerConnectionProvider.getConnection
(DriverManagerConnectionProvider.java:133)
at org.hibernate.cfg.SettingsFactory.buildSettings
(SettingsFactory.java:111)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:
2101)
at org.hibernate.cfg.Configuration.buildSessionFactory
(Configuration.java:1325)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory
(AnnotationConfiguration.java:867)

at java.lang.Thread.run(Unknown Source)
Caused by: org.h2.jdbc.JdbcSQLException: Cecha nie jest wspierana:
write
Feature not supported: write [50100-111]
at org.h2.message.Message.getSQLException(Message.java:107)
at org.h2.message.Message.getSQLException(Message.java:118)
at org.h2.message.Message.getSQLException(Message.java:77)
at org.h2.message.Message.getUnsupportedException(Message.java:163)
at org.h2.store.fs.FileSystemZip.openFileOutputStream
(FileSystemZip.java:212)
at org.h2.util.FileUtils.openFileOutputStream(FileUtils.java:241)
at org.h2.message.TraceSystem.openWriter(TraceSystem.java:293)
... 29 more

Actually I see two problem here. First problem is caused by read-only
database (compressed) [50100]. Is there any option to set Hibernate to
work with read-only databases? The second one concerns trace file
[90034]. H2 seems to log previous error to trace file located inside
zip database and maybe that's the reason of [90034]. I changed
trace_level_file to 0 but it didn't solve even [90034] problem. Have
you ever met similar issues?

I attach my hibernate config file (shortened version):

<session-factory>
<property name="hibernate.connection.driver_class">org.h2.Driver</
property>
<property name="hibernate.connection.url">jdbc:h2:zip:database/
database.jar!/
evidence;TRACE_LEVEL_FILE=0;TRACE_LEVEL_SYSTEM_OUT=3;TRACE_MAX_FILE_SIZE=0</
property>
<property name="hibernate.connection.username">asdf</property>
<property name="hibernate.connection.password">****</property>
<property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</
property>

<property name="hibernate.show_sql">false</property>
<property
name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</
property>

</session-factory>

Thanks,
Tomek

Thomas Mueller

unread,
Apr 13, 2009, 4:03:45 PM4/13/09
to h2-da...@googlegroups.com
Hi,

Could you check if there is a file called 'evidence.data.db' in the
file database.jar? It looks like this file is missing.

Regards,
Thomas

Tomek Maciejewski

unread,
Apr 13, 2009, 4:27:56 PM4/13/09
to h2-da...@googlegroups.com
Hi,

Thanks for help. It was my big mistake. My MySQL database was called
'evidence', but the H2 database is named 'temp', so you are right, there
is no 'evidence.data.db' file. I have looked inside jar, but somehow I
didn't realize that the name is 'temp' now ;) Now everything works great!

Thanks a lot,
Tomek


Thomas Mueller pisze:
Reply all
Reply to author
Forward
0 new messages