[ 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