aveminus / mdb-sqlite Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/mdb-sqlite
License: BSD 3-Clause "New" or "Revised" License
Automatically exported from code.google.com/p/mdb-sqlite
License: BSD 3-Clause "New" or "Revised" License
The current version does not support any kind of foreign key/relation
conversion. This feature is all but ignored by sqlite as it does not
enforce referential integrity. However, there are some applications for
which it would be useful to have the table relationships in the sqlite
database. For example, SQLite Maestro 8.5 has a visual database designer
tool which interprets the foreign keys of every table in order to properly
draw the relationships of the database in the diagram.
The current version of mdb-sqlite loses this information in the conversion
process.
I have attached a proposed solution. This solution was tested with
Jackcess version 1.1.18 and sqlitejdbc-v053.
Dmitriy Ofman
Original issue reported on code.google.com by [email protected]
on 14 Nov 2008 at 5:39
Attachments:
What is the expected output? What do you see instead?
Expected output was a complete converted database. Instead we got this error:
Exception in thread "main" java.sql.SQLException: unexpected param type:
class java.lang.Float
at org.sqlite.DB.sqlbind(DB.java:211)
at org.sqlite.DB.execute(DB.java:258)
at org.sqlite.DB.executeUpdate(DB.java:281)
at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:83)
at com.plausiblelabs.mdb.AccessExporter.populateTable(AccessExporter.java:291)
at
com.plausiblelabs.mdb.AccessExporter.populateTables(AccessExporter.java:306)
at com.plausiblelabs.mdb.AccessExporter.export(AccessExporter.java:325)
at com.plausiblelabs.mdb.Main.main(Main.java:58)
What version of the product are you using? On what operating system?
Product version 1.0.2 patched with patch in Issue 4. On Ubuntu 8.0.4.
Please provide any additional information below.
This problem could be due to an outdated version of sqlitejdbc.
Original issue reported on code.google.com by [email protected]
on 3 Sep 2008 at 7:00
When I run the mdb-sqlite program to comvert my db file I receive this warning:
JarClassLoader: Warning: Unable to load native library:
java.lang.NullPointerException
Then if I try to open the output file xxx.sqlite generated, with sqlite I get:
Unable to open database "xxx.sqlite": file is encrypted or is not a database
What happened?
Thanks
Original issue reported on code.google.com by [email protected]
on 23 Oct 2008 at 2:46
What steps will reproduce the problem?
When converting the source MDB db the JVM takes into account some environment
variables/settings. If I'm sure I need CP850 and/since my access file has some
international characters (e.g. umlauts) I can simply call the library w/
java -jar -Dfile.encoding=CP850 dist/mdb-sqlite.jar [source] [target]
but nothing changes.
What is the expected output?
I expect from the library that it either detects the (possible) charset and
related issues (see patch) on its own or it at least allows the user to set the
charset w/ the command line options "-D" (encoding,...).
What do you see instead?
Nothing happens when forcing a charset, nor autodetection of
problems/charactersets is implemented.
What version of the product are you using? On what operating system?
Newest ?1.0?
*nix
Please provide any additional information below.
The patch below tries to implement both "approaches" (taking into account
environment variables by using the setBytes() method -this could of course be
elaborated by using more sophisticated methods,e.g. UnicodeUtils
http://tripoverit.blogspot.com/2007/04/javas-utf-8-and-unicode-writing-is.html,
Charsets forName("UTF-8") and encode() java.nio.charset.Charset, etc.etc.etc -
and 2° it tries to detect "strange" encoding by using the juniversalchardet).
Of course one approach could be "enough". But some detection of problems of
this kind would be great.
The patch worked for me,but it needs of course testing w/ other charsets and
input DBs!
Best,
Phil
Original issue reported on code.google.com by [email protected]
on 10 Dec 2011 at 6:34
Attachments:
It would be helpful to add this feature to the mdb-sqlite source.
I have attached the AccessExporter.java file with this added functionality.
Original issue reported on code.google.com by [email protected]
on 29 Jul 2008 at 8:35
Attachments:
What steps will reproduce the problem?
1. MDB auto increments are NOT converted to SQLite autoincrements
What is the expected output? What do you see instead?
An SQL create statement w/ "autoincrement"
What version of the product are you using? On what operating system?
1.0
Linux OS
Please provide any additional information below.
Patch could be very similar like attached
Original issue reported on code.google.com by [email protected]
on 9 Dec 2011 at 1:11
Attachments:
> What steps will reproduce the problem?
1. ant dist
2. java -jar dist/mdb-sqlite.jar members.mdb members.sqlite
> What is the expected output? What do you see instead?
java -jar dist/mdb-sqlite.jar members.mdb members.sqlite
JarClassLoader: Warning: Unable to load native library:
java.lang.NullPointerException
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.simontuffs.onejar.Boot.run(Boot.java:306)
at com.simontuffs.onejar.Boot.main(Boot.java:159)
Caused by: java.nio.BufferUnderflowException
at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:127)
at java.nio.ByteBuffer.get(ByteBuffer.java:674)
at com.healthmarketscience.jackcess.Table.getRowColumn(Table.java:485)
at com.healthmarketscience.jackcess.Table.getRow(Table.java:426)
at com.healthmarketscience.jackcess.Table.getRow(Table.java:404)
at com.healthmarketscience.jackcess.Cursor.getCurrentRow(Cursor.java:850)
at com.healthmarketscience.jackcess.Cursor$RowIterator.next(Cursor.java:925)
at com.healthmarketscience.jackcess.Cursor$RowIterator.next(Cursor.java:896)
at com.plausiblelabs.mdb.AccessExporter.populateTable(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.populateTables(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.export(Unknown Source)
at com.plausiblelabs.mdb.Main.main(Unknown Source)
... 6 more
*** Error code 1
Stop in /Users/jklowden/projects/mdb-sqlite-1.0.2.
> What version of the product are you using? On what operating system?
$ uname -a
Darwin thistle.eg.com 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00
PDT 2007;
root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc
> Please provide any additional information below.
The example database also gives the same first warning, but produces a good
sqlite database:
$ java -jar dist/mdb-sqlite.jar example/test-database.mdb
example/test-database.sqlite
JarClassLoader: Warning: Unable to load native library:
java.lang.NullPointerException
$ sqlite3 example/test-database.sqlite
SQLite version 3.1.3
Enter ".help" for instructions
sqlite> .tables
closeouts economics
sqlite> .quit
Original issue reported on code.google.com by [email protected]
on 3 Dec 2008 at 4:13
I created an alternative over on GitHub: https://github.com/hzpz/access-export.
It uses the current Jackcess 2.0 and an up-to-date SQLite driver which greatly
enhances compatibility. Please give it a try and report any issues you find.
Original issue reported on code.google.com by [email protected]
on 8 Apr 2015 at 8:48
This web is no longer actively maintaining the project.
There is a fork in https://github.com/paulproteus/mdb-sqlite
May be its no actively maintained but it's in git so anyone could fork.
Please add the link https://github.com/paulproteus/mdb-sqlite as an more
updated source into the project home.
Thanks in advance.
Original issue reported on code.google.com by [email protected]
on 11 Dec 2013 at 1:10
Built the package, and was confused at first because mdb-access.jar doesn't
exist, as the documentation says. Used mdb-sqlite.jar, and it works great.
Awesome program.
Original issue reported on code.google.com by [email protected]
on 7 Sep 2008 at 5:34
i can't convert the database, the error is:
Exception in thread "main" java.io.IOException: Unsupported version: 50
at com.healthmarketscience.jackcess.JetFormat.getFormat(JetFormat.java:143)
at com.healthmarketscience.jackcess.Database.<init>(Database.java:347)
at com.healthmarketscience.jackcess.Database.open(Database.java:294)
at com.healthmarketscience.jackcess.Database.open(Database.java:270)
at com.plausiblelabs.mdb.Main.main(Main.java:56)
Original issue reported on code.google.com by [email protected]
on 18 Mar 2012 at 11:32
What steps will reproduce the problem?
1. java -jar dist/mdb-sqlite.jar Stock.db StockO.mdb
2.
3.
What is the expected output? What do you see instead?
Caused by: java.io.IOException: Unsupported version: 0
at
com.healthmarketscience.jackcess.JetFormat.getFormat(JetFormat.java:143)
at com.healthmarketscience.jackcess.Database.<init>(Database.java:347)
at com.healthmarketscience.jackcess.Database.open(Database.java:294)
at com.healthmarketscience.jackcess.Database.open(Database.java:270)
at com.plausiblelabs.mdb.Main.main(Unknown Source)
... 6 more
What version of the product are you using? On what operating system?
1.0.2 MS XP
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 9 Mar 2010 at 6:07
I was using mdb-sqlite to transform a huge mdb to sqlite. However, I had a
problem with the current release. I then fix the code and finally succeed in
doing that. Now, how am I able to commit the code back to this project?
Original issue reported on code.google.com by [email protected]
on 5 Mar 2011 at 10:21
Caused by: java.lang.ClassCastException: java.lang.Float cannot be cast to
java.lang.Double
at com.plausiblelabs.mdb.AccessExporter.populateTable(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.populateTables(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.export(Unknown Source)
at com.plausiblelabs.mdb.Main.main(Unknown Source)
... 6 more
Original issue reported on code.google.com by [email protected]
on 5 Mar 2009 at 10:28
i tried your converter to generate voc.sqlite out of voc.mdb
everything worked fine except all fields with date/time data were converted to
strange integers
which don't have anything in common with the original data!
is there a fix for this bug or am I just doing sth. wrong?
in kindly regards, David
Original issue reported on code.google.com by [email protected]
on 17 Jul 2008 at 9:11
Attachments:
What steps will reproduce the problem?
1. Export of a table with a yes/no column with various true/false values
2. Open sqlite db created by export
3. Observe all values of a yes/no field are exported as 0, regardless of
true or false value.
What is the expected output? What do you see instead?
Zero for false, and non zero constant for true. Instead, all zeros
What version of the product are you using? On what operating system?
1.0 on windows XP
Please provide any additional information below.
If I remember correctly, the JDBC driver for sqlite doesn't properly assign
boolean constants with the setObject method.
I added this simple workaround to the populateTable method:
case BOOLEAN:
boolVal = (Boolean) row.get(column.getName());
prep.setInt(i+1, boolVal ? -1 : 0);
break;
Original issue reported on code.google.com by [email protected]
on 22 Jul 2008 at 2:54
What steps will reproduce the problem?
1. Windows Xp
2. Download Code
3. Type (as requested "Ant Dist"
What is the expected output? What do you see instead?
Should compile to a dist , I get error about ant is not a valid executable
What version of the product are you using? On what operating system?
Please provide any additional information below.
How do I compile it to a jar file on XP
Original issue reported on code.google.com by [email protected]
on 23 Oct 2011 at 10:24
What steps will reproduce the problem?
1. Follow the instructions verbatim to build and run the *.jar file
What is the expected output? What do you see instead?
Building the *.jars went fine.
The very first that appears on the screen when calling mdb-sqlite.jar is:
macbook:mdb-sqlite-1.0.2 username$ java -jar dist/mdb-sqlite.jar
database.mdb database.sqlite
JarClassLoader: Warning: Unable to load native library:
java.lang.NullPointerException
What version of the product are you using? On what operating system?
Version 1.0.2 on Mac OS X 10.6.2 running Java(TM) SE Runtime Environment
(build 1.6.0_17-b04-248-10M3025)
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 28 Dec 2009 at 6:06
What steps will reproduce the problem?
Try converting a database with an OLE field. You will notice that each
object will just have it's toString() method parsed in the new database.
What is the expected output? What do you see instead?
Expected is a binary file. What we see is the toString() value of the
object. Thus this will be what we find an object reference. More
information can be found on:
http://java.sun.com/javase/6/docs/api/java/lang/Object.html#toString()
What version of the product are you using? On what operating system?
Product version was 1.0.2. System tested was Microsoft Windows 2000. But
this should happen everywhere.
Please provide any additional information below.
A patch is included in the attachment.
Original issue reported on code.google.com by [email protected]
on 3 Sep 2008 at 5:58
Attachments:
What steps will reproduce the problem?
1. java -jar dist/mdb-sqlite.jar ~/Desktop/20110310_m.mdb
~/Desktop/20110310_m.sqlite
What is the expected output? What do you see instead?
convert successfully
What version of the product are you using? On what operating system?
Tried on mac, winxp and win7 with jre 1.6.0_24
When the command is executed, following stack trace printed:
Exception in thread "main" java.lang.reflect.InvocationTargetException
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:597)
at com.simontuffs.onejar.Boot.run(Boot.java:340)
at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.lang.IllegalAccessError: tried to access method
java.lang.StringBuilder.append(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilde
r; from class com.plausiblelabs.mdb.AccessExporter
at com.plausiblelabs.mdb.AccessExporter.populateTable(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.populateTables(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.export(Unknown Source)
at com.plausiblelabs.mdb.Main.main(Unknown Source)
... 6 more
After surfing the web and modified AccessExporter class "populateTable" function
from
stmtBuilder.append(") VALUES ");
stmtBuilder.append(valueStmtBuilder);
stmtBuilder.append(")");
to
stmtBuilder.append(") VALUES ");
stmtBuilder.append(valueStmtBuilder.toString());
stmtBuilder.append(")");
it run with no error
Thanks a lot for creating this project! Wish this help
Original issue reported on code.google.com by [email protected]
on 20 Mar 2011 at 8:54
Hi, since I could not find a mailinglist, I am going to post this here.
When I try to convert a mdb that even mdbtools dosn't oepn (without error
anyways), I get an:
Exception in thread "main" java.lang.reflect.InvocationTargetException
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:597)
at com.simontuffs.onejar.Boot.run(Boot.java:306)
at com.simontuffs.onejar.Boot.main(Boot.java:159)
Caused by: java.io.IOException: Unsupported version: 0
at com.healthmarketscience.jackcess.JetFormat.getFormat(JetFormat.java:143)
at com.healthmarketscience.jackcess.Database.<init>(Database.java:347)
at com.healthmarketscience.jackcess.Database.open(Database.java:294)
at com.healthmarketscience.jackcess.Database.open(Database.java:270)
at com.plausiblelabs.mdb.Main.main(Unknown Source)
... 6 more
Thfunny thing is that trying to test agains the latest jackaccess I get a
slighlty different error, which tells me that the format is too old:
Exception in thread "main" java.io.IOException: Unsupported older version: 0
So that is where I am now. Mdbtools even if not opening the file, tells me it
is a access 97 file (jet version). The file is way to large to attach it.
Is there anything I could do in that case?
Thanks
Original issue reported on code.google.com by [email protected]
on 29 Jun 2010 at 8:27
~/mdb-sqlite-1.0.2$ java -jar dist/mdb-sqlite.jar ../homework.mdb
../homework.sdb
JarClassLoader: Warning: Unable to load native library:
java.lang.NullPointerException
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.simontuffs.onejar.Boot.run(Boot.java:306)
at com.simontuffs.onejar.Boot.main(Boot.java:159)
Caused by: java.sql.SQLException: column homework_id is not unique
at org.sqlite.DB.execute(DB.java:275)
at org.sqlite.DB.executeUpdate(DB.java:281)
at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:77)
at com.plausiblelabs.mdb.AccessExporter.populateTable(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.populateTables(Unknown Source)
at com.plausiblelabs.mdb.AccessExporter.export(Unknown Source)
at com.plausiblelabs.mdb.Main.main(Unknown Source)
... 6 more
What version of the product are you using? On what operating system?
$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.2) (6b20-1.9.2-0ubuntu1~10.04.1)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)
mdb-sqlite version: 1.0.2
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 10 Dec 2010 at 3:07
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.