[ 
http://issues.apache.org/jira/browse/DERBY-2193?page=comments#action_12459381 ] 
            
Aaron Digulla commented on DERBY-2193:
--------------------------------------

After some experiments, I found the error: This happens if you have lines in 
your import file which end with space (the line in question had an "empty" 
field at the end with 15 spaces in it).

> [import] ERROR 38000: StringIndexOutOfBoundsException was thrown while 
> evaluating an expression.
> ------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2193
>                 URL: http://issues.apache.org/jira/browse/DERBY-2193
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.2.1.6
>            Reporter: Aaron Digulla
>
> During import of a file, I get this error:
> ERROR 38000: The exception 'java.sql.SQLException: Java exception: 
> 'java.lang.StringIndexOutOfBoundsException: String index out of range: -14'.' 
> was thrown while evaluating an expression.
>       at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>       at 
> org.apache.derby.iapi.error.StandardException.unexpectedUserException(Unknown 
> Source)
>       at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown 
> Source)
>       ...
> How am I supposed to find what's wrong in a big import? :-) It should at 
> least mention the file which I was importing, the row and the column when the 
> error occurred.
> After printing the whole exceptions chain, I got these additional two:
> ERROR XJ001: Java exception: 'java.lang.StringIndexOutOfBoundsException: 
> String index out of range: -14'.
>       at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>       at 
> org.apache.derby.iapi.error.StandardException.plainWrapException(Unknown 
> Source)
>       at org.apache.derby.impl.load.LoadError.unexpectedError(Unknown Source)
>       at org.apache.derby.impl.load.ImportAbstract.next(Unknown Source)
>       at 
> org.apache.derby.impl.sql.execute.VTIResultSet.getNextRowCore(Unknown Source)
>       at 
> org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(Unknown
>  Source)
>       at 
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.NoPutResultSetImpl.getNextRowFromRowSource(Unknown
>  Source)
>       at org.apache.derby.impl.store.access.heap.HeapController.load(Unknown 
> Source)
>       at org.apache.derby.impl.store.access.heap.Heap.load(Unknown Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.loadConglomerate(Unknown 
> Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.recreateAndLoadConglomerate(Unknown
>  Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.createAndLoadConglomerate(Unknown
>  Source)
>       at 
> org.apache.derby.impl.sql.execute.InsertResultSet.bulkInsertCore(Unknown 
> Source)
>       at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown 
> Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
> Source)
>       at org.apache.derby.impl.load.Import.performImport(Unknown Source)
>       at org.apache.derby.impl.load.Import.importData(Unknown Source)
>       at org.apache.derby.catalog.SystemProcedures.SYSCS_IMPORT_DATA(Unknown 
> Source)
>       at 
> org.apache.derby.exe.ac07170079x010fx9622xb7bax00000011a6e80.g0(Unknown 
> Source)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown 
> Source)
>       ...
> java.lang.StringIndexOutOfBoundsException: String index out of range: -14
>       at java.lang.String.<init>(String.java:202)
>       at 
> org.apache.derby.impl.load.ImportReadData.readNextDelimitedRow(Unknown Source)
>       at org.apache.derby.impl.load.ImportReadData.readNextRow(Unknown Source)
>       at org.apache.derby.impl.load.ImportAbstract.next(Unknown Source)
>       at 
> org.apache.derby.impl.sql.execute.VTIResultSet.getNextRowCore(Unknown Source)
>       at 
> org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(Unknown
>  Source)
>       at 
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.execute.NoPutResultSetImpl.getNextRowFromRowSource(Unknown
>  Source)
>       at org.apache.derby.impl.store.access.heap.HeapController.load(Unknown 
> Source)
>       at org.apache.derby.impl.store.access.heap.Heap.load(Unknown Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.loadConglomerate(Unknown 
> Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.recreateAndLoadConglomerate(Unknown
>  Source)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.createAndLoadConglomerate(Unknown
>  Source)
>       at 
> org.apache.derby.impl.sql.execute.InsertResultSet.bulkInsertCore(Unknown 
> Source)
>       at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown 
> Source)
>       at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
> Source)
>       at org.apache.derby.impl.load.Import.performImport(Unknown Source)
>       at org.apache.derby.impl.load.Import.importData(Unknown Source)
>       at org.apache.derby.catalog.SystemProcedures.SYSCS_IMPORT_DATA(Unknown 
> Source)
>       ...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to