Hi,
I think you were right about it not being the anti-virus, because the
error occurred again. It is just strange that it never happened over the
course of a year, then was happening consistently, then stopped, then
has just happened once in about 2 weeks of daily use since then. Anyway...
From the trace.db file. Both of these errors are related to the same query.
I've since updated to H2 version 147 and rebuilt the database again.
I'll see if the error pops up again.
I am running in multi-threaded mode.
Cheers, Ryan
12-06 14:30:38 jdbc[3]: SQLException
org.h2.jdbc.JdbcSQLException: Data conversion error converting "Davey
Jones"; SQL statement:
SELECT * FROM OfflineClient WHERE offlineClientName =? [90021-139]
12-06 14:37:29 jdbc[4]: SQLException
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.ArrayIndexOutOfBoundsException: 2048" [50000-139]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:156)
at org.h2.message.DbException.convert(DbException.java:279)
at org.h2.message.DbException.toSQLException(DbException.java:252)
at org.h2.message.TraceObject.logAndConvert(TraceObject.java:387)
at
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:104)
at org.h2.jaqu.SqlStatement.executeQuery(SqlStatement.java:51)
at org.h2.jaqu.Query.select(Query.java:89)
at org.h2.jaqu.Query.select(Query.java:67)
at org.h2.jaqu.QueryWhere.selectFirst(QueryWhere.java:52)
at
au.com.pb.ewms.services.DAO.OfflineClientDAOImpl.getOfflineClientByName(OfflineClientDAOImpl.java:50)
.....
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2048
at org.h2.store.Data.readValue(Data.java:632)
at org.h2.index.PageBtreeIndex.readRow(PageBtreeIndex.java:337)
at org.h2.index.PageBtree.getRow(PageBtree.java:168)
at org.h2.index.PageBtree.find(PageBtree.java:110)
at org.h2.index.PageBtreeLeaf.find(PageBtreeLeaf.java:268)
at org.h2.index.PageBtreeIndex.find(PageBtreeIndex.java:169)
at org.h2.index.PageBtreeIndex.find(PageBtreeIndex.java:160)
at org.h2.index.IndexCursor.find(IndexCursor.java:136)
at org.h2.table.TableFilter.next(TableFilter.java:309)
at org.h2.command.dml.Select.queryFlat(Select.java:492)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:579)
at org.h2.command.dml.Query.query(Query.java:241)
at org.h2.command.CommandContainer.query(CommandContainer.java:80)
at org.h2.command.Command.executeQuery(Command.java:132)
at
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:96)
On 26/11/2010 10:51 AM, Ryan How wrote:
Hi,
Sorry I don't have a copy of the trace.db file, but I'll try and
reproduce the problem when I am next at the client site and grab the
trace.db file. The only thing I ended up changing was denying the
local system account access to the folder which seemed to rectify the
issue. My theory was that would stop the anti-virus being able to lock
the file. But it is a rather thin theory... It could be any system
process, or all just coincidence. I just thought the anti-virus
because it has just recently been changed over to McAfee and it seems
to have really slowed the system down, so I am assuming it is scanning
everything. I don't have access to the configuration of the anti-virus.
The query is using JaQu.
final OfflineClient oc = new OfflineClient();
return
db.from(oc).where(oc.offlineClientName).is(offlineClientName).selectFirst();
public class OfflineClient {
public Integer offlineClientId;
public String offlineClientName;
public Boolean deleted;
}
Table schema is
<createTable tableName="OfflineClient">
<column name="offlineClientId" type="int" autoIncrement="true">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="offlineClientName" type="VARCHAR_IGNORECASE(200)">
<constraints nullable="false" unique="true"/>
</column>
<column name="deleted" type="boolean">
<constraints nullable="false"/>
</column>
</createTable>
The query in the trace.db that JaQu generated looked correct from memory.
Cheers,
Ryan
On 26/11/2010 6:37 AM, Thomas Mueller wrote:
Hi,
> I don't have the exact exception sorry, but the database trace log had
> something like jdbcexception.
Could you try to get the .trace.db file and send it to me or post it
here?
> Error converting String "some string" in
> Select * from mytable where thing = ?
This error message doesn't sound like an anti-virus problem to me
(but I could be wrong). What is the data type of the column "thing"?
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.
--
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.