When I try to open connection to a .mdb file ,
the UCanAccess driver throws the following exception:
net.ucanaccess.jdbc.UcanaccessSQLException: Can't expand text column
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:204)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:233)
at db.Connections.getUcanaccessConnection(Connections.java:224)
at test.testMain.main(testMain.java:116)
Caused by: java.io.IOException: Can't expand text column
at com.healthmarketscience.jackcess.impl.ColumnImpl.decodeTextValue(ColumnImpl.java:1457)
at com.healthmarketscience.jackcess.impl.ColumnImpl.read(ColumnImpl.java:656)
at com.healthmarketscience.jackcess.impl.ColumnImpl.read(ColumnImpl.java:626)
at com.healthmarketscience.jackcess.impl.TableImpl.getRowColumn(TableImpl.java:766)
at com.healthmarketscience.jackcess.impl.TableImpl.getRow(TableImpl.java:672)
at com.healthmarketscience.jackcess.impl.TableImpl.getRow(TableImpl.java:652)
at com.healthmarketscience.jackcess.impl.CursorImpl.getCurrentRow(CursorImpl.java:640)
at com.healthmarketscience.jackcess.impl.CursorImpl.getAnotherRow(CursorImpl.java:321)
at com.healthmarketscience.jackcess.impl.CursorImpl.getNextRow(CursorImpl.java:294)
at com.healthmarketscience.jackcess.impl.CursorImpl.getNextRow(CursorImpl.java:288)
at com.healthmarketscience.jackcess.impl.TableImpl.getNextRow(TableImpl.java:613)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTableData(LoadJet.java:584)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTable(LoadJet.java:561)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTable(LoadJet.java:548)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTables(LoadJet.java:662)
at net.ucanaccess.converters.LoadJet$TablesLoader.access$3(LoadJet.java:652)
at net.ucanaccess.converters.LoadJet.loadDB(LoadJet.java:1057)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:193)
... 4 more
Caused by: com.healthmarketscience.jackcess.impl.scsu.EndOfInputException: The input string or input byte array ended prematurely
at com.healthmarketscience.jackcess.impl.scsu.Expand.expandSingleByte(Expand.java:399)
at com.healthmarketscience.jackcess.impl.scsu.Expand.expand(Expand.java:406)
at com.healthmarketscience.jackcess.impl.ColumnImpl.decodeTextSegment(ColumnImpl.java:1480)
at com.healthmarketscience.jackcess.impl.ColumnImpl.decodeTextValue(ColumnImpl.java:1444)
... 21 more
This happened with UCanAccess 2.0.7.
Can you help me?
Thanks in advance.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It looks like a format issue that causes some problem while Jackcess is reading a table.
Could you attach your mdb (obviously if there aren't private data)?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When I try to open connection to a .mdb file ,
the UCanAccess driver throws the following exception:
net.ucanaccess.jdbc.UcanaccessSQLException: Can't expand text column
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:204)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:233)
at db.Connections.getUcanaccessConnection(Connections.java:224)
at test.testMain.main(testMain.java:116)
Caused by: java.io.IOException: Can't expand text column
at com.healthmarketscience.jackcess.impl.ColumnImpl.decodeTextValue(ColumnImpl.java:1457)
at com.healthmarketscience.jackcess.impl.ColumnImpl.read(ColumnImpl.java:656)
at com.healthmarketscience.jackcess.impl.ColumnImpl.read(ColumnImpl.java:626)
at com.healthmarketscience.jackcess.impl.TableImpl.getRowColumn(TableImpl.java:766)
at com.healthmarketscience.jackcess.impl.TableImpl.getRow(TableImpl.java:672)
at com.healthmarketscience.jackcess.impl.TableImpl.getRow(TableImpl.java:652)
at com.healthmarketscience.jackcess.impl.CursorImpl.getCurrentRow(CursorImpl.java:640)
at com.healthmarketscience.jackcess.impl.CursorImpl.getAnotherRow(CursorImpl.java:321)
at com.healthmarketscience.jackcess.impl.CursorImpl.getNextRow(CursorImpl.java:294)
at com.healthmarketscience.jackcess.impl.CursorImpl.getNextRow(CursorImpl.java:288)
at com.healthmarketscience.jackcess.impl.TableImpl.getNextRow(TableImpl.java:613)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTableData(LoadJet.java:584)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTable(LoadJet.java:561)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTable(LoadJet.java:548)
at net.ucanaccess.converters.LoadJet$TablesLoader.loadTables(LoadJet.java:662)
at net.ucanaccess.converters.LoadJet$TablesLoader.access$3(LoadJet.java:652)
at net.ucanaccess.converters.LoadJet.loadDB(LoadJet.java:1057)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:193)
... 4 more
Caused by: com.healthmarketscience.jackcess.impl.scsu.EndOfInputException: The input string or input byte array ended prematurely
at com.healthmarketscience.jackcess.impl.scsu.Expand.expandSingleByte(Expand.java:399)
at com.healthmarketscience.jackcess.impl.scsu.Expand.expand(Expand.java:406)
at com.healthmarketscience.jackcess.impl.ColumnImpl.decodeTextSegment(ColumnImpl.java:1480)
at com.healthmarketscience.jackcess.impl.ColumnImpl.decodeTextValue(ColumnImpl.java:1444)
... 21 more
This happened with UCanAccess 2.0.7.
Can you help me?
Thanks in advance.
It looks like a format issue that causes some problem while Jackcess is reading a table.
Could you attach your mdb (obviously if there aren't private data)?