ADS version : ads-windows-x64-14.0-dev-44
Database:Sybase Anywhere 12/Sybase ASE15.7
Connect to Sybase Ase.
Create following table
CREATE TABLE Test_Datatype (
c1 varchar(25) NULL,
c2 varbinary(2) NULL,
c3 UNSIGNED SMALLINT NULL,
c4 UNSIGNED INT NULL,
c5 UNSIGNED BIGINT NULL
)
GO
Now go to Tools->Import Data->Connect to Sybase ASE 15.7->Import file(Use attached file),click next->From Schema and table drop down select respective values(above given table) and click next->In option tab from "Destination" drop down->choose "Import into database",click on next button->On Transaction tab set Transaction type:Batch,Batch size:1000,Threshold:0and wait time-1 and say next.This will throw error message over ADS window console.
Now click on previous button and go back till "General tab",and again import same file,repeat this procedure for 4 to 6 times and you should get null pointer exception message over "status tab".
This exception will hange the ADS and we need to kill the process from task manager.
Not producible with ADS 13
|
50 KB
![]() |
189 B
I was not able to reproduce this problem by following the steps described and using the same test data file. I repeated the test 10+ times and data was successfully inserted without any problem. The only exception I encountered is included below, not sure if it makes difference.
<2013-05-18 19:06:24,968> ERROR [import] <com.aquafold.datastudio.tools.importtool.ImportThread> Prepared statement failed, fallback to insert statement.
java.sql.SQLException: JZ0SJ: Metadata accessor information was not found on this database. Please install the required tables as mentioned in the jConnect documentation.
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(SybConnection.java:2780)
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(SybStatement.java:2665)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.prepareBCP(SybPreparedStatement.java:3427)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.<init>(SybPreparedStatement.java:209)
at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(SybConnection.java:1406)
at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(SybConnection.java:1307)
at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(SybConnection.java:1278)
at com.aquafold.aquacore.scripts.WrapperConnection.prepareStatement(WrapperConnection.java:64)
at com.aquafold.datastudio.tools.importtool.ImportThread.process(ImportThread.java:258)
at com.aquafold.datastudio.tools.importtool.ImportThread.run(ImportThread.java:98)
This can be multiple things ...
1. ADS could be running out of memory. Please reproduce and attached application log to verify memory exception.
2. The Sybase transaction log could fill up and this blocks any transaction which makes it look like ADS is locked up. You can use the "
dump tran[saction] database_name
"
command.
This can be multiple things ...
1. ADS could be running out of memory. Please reproduce and attached application log to verify memory exception.
2. The Sybase transaction log could fill up and this blocks any transaction which makes it look like ADS is locked up. You can use the "
dump tran[saction] database_name
"
command.
I've tried more than 10 times on
I've tried more than 10 times on
This can be reproduced with the steps in 8801. See Ivans notes
This can be reproduced with the steps in 8801. See Ivans notes
@kin-hong: As Tariq mentions, try the steps mentioned in #8801 -- you'll get an ArrayOutOfBoundException. Then, hit the "Previous" button until you're on step 1 of the import wizard. Then click on "Next" so that you're on step 2. Notice that the table's columns are not displayed. 2 items to point out:
1) B/c the table's columns are not populated, if you continue to press "Next" and start the import process, you'll get into a loop of processing the same record over & over again.
@kin-hong: As Tariq mentions, try the steps mentioned in #8801 -- you'll get an ArrayOutOfBoundException. Then, hit the "Previous" button until you're on step 1 of the import wizard. Then click on "Next" so that you're on step 2. Notice that the table's columns are not displayed. 2 items to point out:
1) B/c the table's columns are not populated, if you continue to press "Next" and start the import process, you'll get into a loop of processing the same record over & over again.
The ADS endless loop (suspended) problem is now fixed.
It seems that after the ArrayOutOfBoundException has been thrown by the Sybase JDBC driver, the database connection is no longer valid (the Connection#isValid(0) method return false). At this point, the connection is no longer usable. For the GUI import tool, we now display a message telling user to close the import tool. For FluidShell, we display a message telling user to reconnect.
The ADS endless loop (suspended) problem is now fixed.
It seems that after the ArrayOutOfBoundException has been thrown by the Sybase JDBC driver, the database connection is no longer valid (the Connection#isValid(0) method return false). At this point, the connection is no longer usable. For the GUI import tool, we now display a message telling user to close the import tool. For FluidShell, we display a message telling user to reconnect.
Issue #8788 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
No fixed build |
No time estimate |
2 issue links |
relates to #8801
Issue #8801java.lang.ArrayIndexOutOfBoundsException |
relates to #8801
Issue #8801java.lang.ArrayIndexOutOfBoundsException |
I was not able to reproduce this problem by following the steps described and using the same test data file. I repeated the test 10+ times and data was successfully inserted without any problem. The only exception I encountered is included below, not sure if it makes difference.
<2013-05-18 19:06:24,968> ERROR [import] <com.aquafold.datastudio.tools.importtool.ImportThread> Prepared statement failed, fallback to insert statement.
java.sql.SQLException: JZ0SJ: Metadata accessor information was not found on this database. Please install the required tables as mentioned in the jConnect documentation.
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(SybConnection.java:2780)
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(SybStatement.java:2665)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.prepareBCP(SybPreparedStatement.java:3427)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.<init>(SybPreparedStatement.java:209)
at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(SybConnection.java:1406)
at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(SybConnection.java:1307)
at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(SybConnection.java:1278)
at com.aquafold.aquacore.scripts.WrapperConnection.prepareStatement(WrapperConnection.java:64)
at com.aquafold.datastudio.tools.importtool.ImportThread.process(ImportThread.java:258)
at com.aquafold.datastudio.tools.importtool.ImportThread.run(ImportThread.java:98)