我下载了JDBC驱动程序并将其导入到我的项目中,该驱动程序应该支持Linux(尽管它只在suselinux上测试)。
我想要的是能够通过Linux上的Java使用.mdf数据库。显然,如果我理解正确的话,查询需要运行一些东西,而不是简单地连接到数据库。
我在上面找到了一个this所以似乎有关于我的问题的有价值的信息。
所以我在想一个FreeTDS+JDBC的组合。查询是否按预期执行,或者我必须在Windows上以本机方式使用数据库?后者基本上粉碎了Java提供的操作系统不可知论,如果可能的话,我希望避免这种不可知论。
数据库本身一点也不新奇,只有几张表——毕竟这只是学校布置的作业。
如果需要的话,我会提供更多的信息。

最佳答案

mdf文件可能是一个旧的(基于JET的)Microsoft Access数据库文件,因此一个完全不同的产品SQL Server的JDBC驱动程序对您没有多大帮助。在这里,有几篇文章解释了如何使用JDBC-ODBC桥通过ODBC驱动程序访问数据库,但是由于您特别提到了Linux,这对您没有帮助。
我看到两种可能(免费)的方法:
使用开放源代码jackcess包,它允许跨平台的Java程序打开、读取和写入MS-Access数据库
将MS Access数据库文件的内容传输到具有本机Java驱动程序的数据库(即,大多数不是MS Access)。
不过,mdf文件也可以是SQLServer数据库,但在Linux下使用该数据库也会非常棘手,因为您需要某个版本的SQL Server才能打开它—有关如何将这样的mdf文件“附加”到已安装的SQL Server实例的详细信息,请参见here—但据我所知,没有在Linux下运行的SQL Server版本。因此,除非您可以找到一些运行SQLServer的Windows机器,然后使用JDBC驱动程序连接到它,否则前面提到的两个选项可能是有效的替代方案(即,选项1=将数据复制到MSAccess文件中,并使用jackcess或选项2访问该文件,使用一个合适的JDBC驱动程序将数据复制到一些Linux兼容的数据库中并使用它)

09-06 02:40
查看更多