ArrayIndexOutOfBoundException |
John Moore |
2006-11-07 07:18:09 |
I'm trying to execute a simple delete of all rows in an Access table, with the following as the SQL to execute:
DELETE FROM PLUs
I'm getting the following error, which is puzzling
java.sql.SQLException: java.lang.ArrayIndexOutOfBoundsException: 4519
at com.hxtt.b.p.if(Unknown Source)
at com.hxtt.sql.access.w.e(Unknown Source)
at com.hxtt.sql.access.w.g(Unknown Source)
at com.hxtt.sql.access.w.void(Unknown Source)
at com.hxtt.sql.access.w.case(Unknown Source)
at com.hxtt.sql.access.d.a(Unknown Source)
at com.hxtt.sql.access.d.a(Unknown Source)
at com.hxtt.sql.access.d.a(Unknown Source)
at com.hxtt.sql.access.u.a(Unknown Source)
at com.hxtt.sql.access.u.if(Unknown Source)
at com.hxtt.sql.access.u.a(Unknown Source)
at com.hxtt.sql.access.z.a(Unknown Source)
at com.hxtt.sql.o.a(Unknown Source)
at com.hxtt.sql.w.a(Unknown Source)
at com.hxtt.sql.w.a(Unknown Source)
at com.hxtt.sql.by.r(Unknown Source)
at com.hxtt.sql.db.a(Unknown Source)
at com.hxtt.sql.db.a(Unknown Source)
at com.hxtt.sql.bl.a(Unknown Source)
at com.hxtt.sql.ag.a(Unknown Source)
at com.hxtt.sql.ag.a(Unknown Source)
at com.hxtt.sql.ag.execute(Unknown Source)
It seems to me to be related to the size of data, as I have been able to delete previously without a problem. This is with the Access_JDBC30.jar, on Linux. (I purchased the full version yesterday and was using the test version before).
|
Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-07 16:53:50 |
From Released Version Log, you can find:
v2.0.036 fixed a bug on DELETE operation for a special seldom occasion.
Maybe your older test version trigged that bug.
|
Re:Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-08 01:38:02 |
I subsequently discovered that the same error occurred when I did a 'SELECT COUNT(*) FROM PLUs'. Fortunately I was able to restore a backup of the database in question and the errors did not occur with the restored data. I can only assume it resulted from some type of data corruption. Maybe you could investigate why this error might occur, though? It is clearly a bug, as there are surely no circumstances when this message should actually be presented to the user. Even if it results from corrupted data, I would expect that the driver should recover rather better from the error.
|
Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-08 02:56:54 |
You can upload your backup database and corrupted database into:
ftp site: ftp.hxtt.com
ftp user: anonymous@hxtt.com
ftp password: (empty)
login mode: normal (not anonymous)
ftp port:21
upload directory: incoming
transer mode: binary (not ASCII)
After upload, you can't see that upload file, but it has been upload.
You can try "DELETE FROM PLUs" to see whether it can work normally with the latest package on the restored database too.
|
Re:Re:Re:Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-08 03:01:53 |
I deleted the corrupted one. If the problem occurs again, I'll do the upload. Thanks.
|
Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-08 03:06:38 |
Thanks for your help. It should be normal since that bug has been fixed:)
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-08 10:34:50 |
I doubt whether it can be the same bug, as it occurred with a version I downloaded from you only yesterday (unless the bug has been fixed since yesterday).
|
Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-08 16:18:25 |
>(unless the bug has been fixed since yesterday).
Yeah. You download it at 2006-11-07 02:09:53, but the fixed package is upload at 2006-11-07 03:44:00. Try to redownload it, and let us know if your issue exists still.
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-16 07:54:02 |
I'm still getting ArrayIndexOutOfBounds exceptions with the 2006-11-07 03:44:00 download, this time on an insert after inserting a few hundred rows. It doesn't happen at the same place every time. I don't get the problem with the Sun JDBC-ODBC Bridge. I think I have uploaded the db OK, as tables.mdb to the /incoming folder.
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-17 02:57:47 |
I haven't seen that file. You can choose to zip and email it to webmaster.hxtt@gmail.com too.
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-22 07:57:23 |
Thanks. According to your sample, v2.0.041 fixed a bug for insert very long data into JET3 version database.
You can download it after about 2 hours.
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-22 09:39:17 |
Yes, this seems to have been fixed now, thanks. I was able to add 2,400 rows without the ArrayIndexOutOfBoundsException
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-24 01:35:24 |
Unfortunately I still can't use the HXTT driver because it is corrupting the database somehow. The inserts complete, but when I subsequently try to use the database in the other app it throws up errors, and any attempt to repair the database with Access tools throws up am 'Invalid argument' message. If I manage to get any further information I'll pass it on to you. In the meantime I'm going to have to switch back to Sun's JDBC-ODBC bridge.
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-24 01:51:47 |
Maybe it contains some older invalid information which was produced by old package. You can email it to us, then we will repair it, then you can try to use the fixed database with HXTT Access latest package.
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-24 02:45:59 |
No, it was a fresh copy of the database I tested it with. I don't know how to determine when the corruption is occurring, because no error is being returned during the inserts. I'll see if I can get any further information.
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-24 02:52:53 |
>but when I subsequently try to use the database in the other app it throws up
> errors, and any attempt to repair the database with Access tools throws up
> am 'Invalid argument' message.
Then please email me that database, and I can see whether it can be opened or repaired.
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-24 03:07:22 |
I've emailed the database to the usual address.
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-24 03:09:47 |
To be clear, it doesn't particularly help me if you can repair the database (it is only a test one). What I need is for you to determine why it is getting corrupted and prevent that, if possible. This is intended to be part of an automated, unattended process.
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-24 03:23:21 |
The purpose isn't to repair, but to recur your issue:)
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-24 03:24:16 |
With your blank/invalid database, we can recur your 'Invalid argument' message.
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-24 04:01:25 |
Now can you see what might have caused it? :)
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-24 04:04:16 |
The received tables.mdb sample (405,504bytes 2006-11-24 11:02) seems to be normal to browse all rows in all tables through MS Access ODBC Driver (4.00.6200) or MS Access 2000?
|
Re:ArrayIndexOutOfBoundException |
John Moore |
2006-11-24 04:27:17 |
Try it with Access 97 if you can. Try a Repair. It is a JET3 database, which needs to work with another app expecting a JET3 file format.
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-26 22:47:21 |
I got an old MS Access 97, and found your tables.mdb sample (405,504bytes 2006-11-24 11:02) can be opend and browsed normally. I tried Repair and Compact option, and it seems to be normal too.
|
Re:Re:Re:Re:Re:Re:Re:Re:ArrayIndexOutOfBoundException |
HXTT Support |
2006-11-28 20:09:09 |
We can't still recur your 'Invalid argument' message on MS Access 97. Please let us know more information(name, version, and so on) about your Access tools.
|
Re:ArrayIndexOutOfBoundException |
john Moore |
2006-11-29 06:26:45 |
I'm trying to get something reproduceable for you. I have a test app which takes a set of 2254 rows from a MySQL database, deletes all rows in the Access database table and writes the data from the MySQL database to the table (i.e., 2254 inserts). After this was done the first time the Access database was around 3Mb in size. Second time I did it, running EXACTLY the same code with the same data, I got another recurrence of the ArrayIndexOutOfBoundException after writing about half the rows. This time, though, the Access database had swollen to 30Mb! I then repeated the procedure again, and this time it completed without error. Puzzling!
|