Microsoft JET数据库引擎的数据库驱动程序

时间:2013-04-17 17:38:48

标签: java database jdbc jet

我目前正在寻找在我的Java程序中编写一个导入程序来从包含JET数据库的文件导入数据,但到目前为止还在搜索这种格式的JDBC驱动程序(或者只是另一个可以从中读取的Java库)已经证明没有结果。

是否有人知道这样的驱动程序是否存在,或者是否存在(平台无关的)替代品可用?

3 个答案:

答案 0 :(得分:2)

我实际上已经使用JDBC和jetEngine查询将CSV文件导入Access数据库,如此

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//将其设置为您机器上的MS Access DB

String filename = "C:/Automation_Tools/Databases/Data.mdb";

String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";

database+= fileName.trim() + ";DriverID=22;READONLY=false}";

//添加到现在我们可以从DriverManager获取连接

con = DriverManager.getConnection( database ,"","");

然后使用像这样的查询

String sql = "INSERT INTO " + accessTableName + " SELECT * FROM [Text;HDR=YES;TextDelimiter=\";Has Quotes=TrueFMT=Delimited(,);DATABASE=" + csvDirPath + ";].[" + csvFileName + "]";

//导入/创建表 String sql = "SELECT * INTO " + accessTableName + " FROM [Text;HDR=YES;TextDelimiter=\";FMT=Delimited(,);DATABASE=" + csvDirPath + ";].[" + csvFileName + "]";             `

答案 1 :(得分:2)

我现在正在研究这个问题,我将尝试UCanAccess。据主页说它是

  

开源Java JDBC驱动程序实现,允许Java开发人员和jdbc客户端程序(例如,DBeaver,NetBeans,SQLeo,Open Office Base,Libre Office Base,Squirrell)读取/写入Microsoft Access数据库。

     

因为它是纯Java实现,所以它在Windows和非Windows操作系统(例如,linux / unix)中运行。 无需ODBC。

答案 2 :(得分:1)

您可以使用内置的JDBC ODBC bridge驱动程序。 使用类似于jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=database.mdb的连接字符串。 这不是独立平台。必须安装Jet引擎(或ACE)。有时编码和备注字段存在问题。

还有另一种选择:http://www.hxtt.com/access.html 他们声称平台独立,但我自己没有尝试过。