Hi Thomas,

Under linux the System.getProperty("java.io.tmpdir") returns /tmp
without trailing path separator '/' character which is different from
Windows (....\LOCALS~1\Temp\). This most likely causes the problem in
getFilePrefix method in SessionRemote class as the database name is
appended after the directory string.

On 2 loka, 10:25, pepez <[EMAIL PROTECTED]> wrote:
> And same with the latest:
>
> 1.0.79 (2008-09-26)
> Exception in thread "main" org.h2.jdbc.JdbcSQLException: IO Exception:
> java.io.IOException: Permission denied; mem:appDB [90031-79]
>         at org.h2.message.Message.getSQLException(Message.java:103)
>         at org.h2.message.Message.convertIOException(Message.java:271)
>         at org.h2.engine.SessionRemote.createTempFile(SessionRemote.java:459)
>         at org.h2.value.ValueLob.initLarge(ValueLob.java:375)
>         at org.h2.value.ValueLob.createFromReader(ValueLob.java:201)
>         at org.h2.value.ValueLob.createClob(ValueLob.java:169)
>         at org.h2.jdbc.JdbcConnection.createClob(JdbcConnection.java:1521)
>         at
> org.h2.jdbc.JdbcPreparedStatement.setCharacterStream(JdbcPreparedStatement.java:
> 945)
>         at
> org.h2.jdbc.JdbcPreparedStatement.setCharacterStream(JdbcPreparedStatement.java:
> 917)
>         at
> org.h2.jdbc.JdbcPreparedStatement.setCharacterStream(JdbcPreparedStatement.java:
> 928)
>         at H2Test.main(H2Test.java:17)
> Caused by: java.io.IOException: Permission denied
>         at java.io.UnixFileSystem.createFileExclusively(Native Method)
>         at java.io.File.checkAndCreate(File.java:1704)
>         at java.io.File.createTempFile(File.java:1793)
>         at org.h2.store.fs.FileSystemDisk.createTempFile(FileSystemDisk.java:
> 157)
>         at org.h2.util.FileUtils.createTempFile(FileUtils.java:158)
>         at org.h2.engine.SessionRemote.createTempFile(SessionRemote.java:457)
>         ... 8 more
>
> On Oct 2, 10:21 am, pepez <[EMAIL PROTECTED]> wrote:
>
> > Here is the output of the test (Java 1.6.0_06, Ubuntu 8.04, 2.6.24-19-
> > generic):
>
> >  1.0.78 (2008-08-28)
> > Exception in thread "main" org.h2.jdbc.JdbcSQLException: IO Exception:
> > java.io.IOException: Permission denied; mem:appDB [90031-78]
> >         at org.h2.message.Message.getSQLException(Message.java:103)
> >         at org.h2.message.Message.convertIOException(Message.java:271)
> >         at 
> > org.h2.engine.SessionRemote.createTempFile(SessionRemote.java:459)
> >         at org.h2.value.ValueLob.initLarge(ValueLob.java:375)
> >         at org.h2.value.ValueLob.createFromReader(ValueLob.java:201)
> >         at org.h2.value.ValueLob.createClob(ValueLob.java:169)
> >         at org.h2.jdbc.JdbcConnection.createClob(JdbcConnection.java:1500)
> >         at
> > org.h2.jdbc.JdbcPreparedStatement.setCharacterStream(JdbcPreparedStatement.java:
> > 945)
> >         at
> > org.h2.jdbc.JdbcPreparedStatement.setCharacterStream(JdbcPreparedStatement.java:
> > 917)
> >         at
> > org.h2.jdbc.JdbcPreparedStatement.setCharacterStream(JdbcPreparedStatement.java:
> > 928)
> >         at H2Test.main(H2Test.java:17)
> > Caused by: java.io.IOException: Permission denied
> >         at java.io.UnixFileSystem.createFileExclusively(Native Method)
> >         at java.io.File.checkAndCreate(File.java:1704)
> >         at java.io.File.createTempFile(File.java:1793)
> >         at 
> > org.h2.store.fs.FileSystemDisk.createTempFile(FileSystemDisk.java:
> > 157)
> >         at org.h2.util.FileUtils.createTempFile(FileUtils.java:158)
> >         at 
> > org.h2.engine.SessionRemote.createTempFile(SessionRemote.java:457)
> >         ... 8 more
>
> > On Oct 1, 9:34 pm, "Thomas Mueller" <[EMAIL PROTECTED]>
> > wrote:
>
> > > Hi,
>
> > > I can reproduce this problem with previous versions, but so far I
> > > couldn't reproduce it with version 1.0.78. Could you post a simple
> > > test case similar to the one below? Or maybe this test doesn't work
> > > for you?
>
> > >     public static void main(String[] args) throws Exception {
> > >         org.h2.Driver.load();
> > >         Server server = Server.createTcpServer(new String[0]).start();
> > >         Connection conn =
> > > DriverManager.getConnection("jdbc:h2:tcp://localhost/mem:appDB");
> > >         
> > > System.out.println(conn.getMetaData().getDatabaseProductVersion());
> > >         PreparedStatement prep = conn.prepareStatement("CALL ?");
> > >         prep.setCharacterStream(1, new StringReader(new String(new
> > > char[100000])));
> > >         prep.executeQuery();
> > >         conn.close();
> > >         server.stop();
> > >     }
>
> > > Regards,
> > > Thomas
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to