在 Debian Linux 计算机上用 Java 连接 MS Access
目前,我开发了一个小型桌面应用程序作为我的项目的增强功能,它读取“.mdb”文件并使用“JDBC-ODBC 驱动程序”作为 MS-Access 数据库连接。
这在 Windows 环境中工作正常,但我无法在 Debian-Linux 机器上运行相同的操作。
代码如下:
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
oAccessConnection = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+mdbFileName);
}
catch (Exception oException)
{
logger.info("Exception",oException);
}
如何诊断问题?
Currently I've developed a small desktop application as an enhancement to my project, which reads '.mdb' file and connects as an MS-Access database using 'JDBC-ODBC Driver'.
This is works fine in Windows environment, but I am unable to run the same on Debian-Linux machine.
The code is below:
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
oAccessConnection = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+mdbFileName);
}
catch (Exception oException)
{
logger.info("Exception",oException);
}
How can I diagnose the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
JDBC-ODBC 桥在 Linux 机器上不起作用,因此您必须使用其他 JDBC 驱动程序,该驱动程序可以直接访问 MS-ACCESS(不通过 ODBC 桥) - 尝试查看 此线程
JDBC-ODBC bridge won't work in Linux machine, so you have to use other JDBC driver, which will have access to MS-ACCESS directly (not thru ODBC bridge) - try to look in this thread
除非你能找到适用于 Linux 的 MS Access,否则我不相信这会起作用。 MS Access 需要在支持的操作系统上运行。
您可以在单独的 Windows 机器上运行 MS Access 并远程访问它,也可以在同一机器上的虚拟机中安装 Windows,例如 https://www.virtualbox.org/
或者您可以使用可在其他操作系统上使用的数据库。 (这几乎是任何接受 MS Access 和 MS Sql Server 的数据库)
Unless you can find MS Access for Linux, I don't believe this will work. MS Access needs to run on a supported operating system.
You can run MS Access on a seperate Windows box and access it remotely, or you can install Windows in a virtual machine on the same box e.g. https://www.virtualbox.org/
Or you can use a database which can be used on other OSes. (This is almost any database accept MS Access and MS Sql Server)
如果您只需要操作文件数据而不需要运行复杂的查询,那么您可以使用 jackcess使用访问文件(它可以在任何平台上运行,无需额外的库)。唯一的缺点是它不支持 jdbc 或无法执行 sql 查询。
If you just need to manipulate the file data and don't need to run complex queries, then you could use jackcess to work with the access file (it works on any platform with no extra libraries). the only downside is that it doesn't support jdbc or have a way of executing sql queries.