2010-06-22 67 views
1

最近,我用Microsoft Access创建了一个包含Java应用程序的数据库。我用eclipse将它包装到jar文件中。我将jar文件传递给我的朋友尝试使用它。但我的朋友告诉我,这不是数据库连接。我如何在jar文件中包含微软访问。这意味着当我的朋友双击该jar文件时,它会自动配置微软访问数据库?那可能吗?如何将Access数据库与Java应用程序捆绑在一起

+0

由于问题是“我如何在jar文件中包含微软访问?”标题完全错误。请修正标题以匹配问题。 – 2010-06-22 10:03:05

回答

0

我不这么认为。您的朋友必须从控制面板配置odbc连接。此外,我会建议使用像德比或MySql的数据库比MS Access作为odbc驱动程序被认为有很多错误。同样使用像德比这样的嵌入式数据库不需要你的朋友配置任何东西。

+0

你好,谢谢你的ypur建议,因为我从未使用德比之前会试着看看它。 – user236501 2010-06-22 10:57:23

+0

用于* what *的“ODBC驱动程序”被认为有许多错误? – 2010-06-22 23:41:23

+0

您不需要配置DSN以使用ODBC。你只需要正确的连接字符串。 – 2010-06-22 23:41:41

1

首先:你的朋友是否有MS Access运行时,也许他需要它?他是否配置了Microsoft Access ODBC数据源?

请看下面的链接:Jackcess - java library for reading and writing to MS Access file (no runtime needed),SQLLite - another file RDMS。请考虑使用Apache Derby项目 - 您可以将其嵌入到您的应用程序中,这会给您带来一些优势,但需要更多的工作。我不知道你想要实现什么应用程序,所以你必须自己做出选择;)。

+0

该应用程序只是一个简单的预算计划。我在想这些商业软件是如何工作的,所以软件可以安装在其他用户桌面上。谢谢你的建议 – user236501 2010-06-22 10:56:15

+1

对于简单的预算规划应用程序,我会提供类似SQLLite的东西(我认为它比MS Acces好得多)。但是,如果您想要扩展您的应用程序的功能,那么Derby可能是正确的选择。看看http://db.apache.org/derby/javadoc/publishedapi/jdbc4/org/apache/derby/drda/NetworkServerControl.html - 你只需启动一个网络服务器,然后通过JDBC使用连接字符串连接到它:“jdbc:derby:// /”。 – Arek 2010-06-22 11:50:54

2

实际上,您的应用程序不需要包访问权限,因为所有版本的Windows都包含jet数据库引擎的副本。换句话说,您可以使用Windows脚本在Windows计算机上打开访问数据库,而不必安装ms访问权限。组件或数据库引擎部分就是您在读取这些访问数据库文件时需要打开的所有部分。

这里Windows脚本打开Access数据库和写专栏了到一个文本文件:

Set dbEng = CreateObject("DAO.DBEngine.36") 
strMdbFile = "C:\Docs\MultiSelect.mdb" 
Set db = dbEng.OpenDatabase(strMdbFile) 
strQuery = "select * from contacts" 
Set rs = db.OpenRecordset(strQuery) 
rs.MoveFirst 
If rs.EOF = True Then 
    Quit 
End If 

strTextOut = "C:\t5.txt" 
Set fs = Wscript.CreateObject("Scripting.FileSystemObject") 
Set ts = fs.OpenTextFile(strTextOut, 2, True) 
'2 = write, 1 = read 

Do While rs.EOF = False 
    strOutText = rs("LastName") 
    ts.Writeline strOutText 
    rs.MoveNext 
Loop 
ts.Close 
rs.Close 

所以没有要求打包或安装Jet数据库引擎宽您的应用程序,因为该组件是在Windows中可用。

这可能不是太重要,但我应该指出,ms访问开发人员的工具,让您编写代码,构建表单和构建报告,以及访问开发人员的数据库引擎vb6 ,vb.net,在你的情况下,Java可以用来读取访问数据库文件。你不需要在这里安装ms-access,而只需要数据库引擎。该数据库引擎包含在每个窗口副本中。

+0

嗨在这种情况下,这个Windows脚本应该存储在jar文件内? – user236501 2010-06-22 10:54:39

+0

我不是很确定我明白你的问题吗?以上只是一个简单的简单Windows脚本(如Windows批处理文件,但是Windows脚本)。这只是一个示例,说明如何在Windows脚本中创建可以打开和读取访问数据库(不需要访问或安装任何其他软件)。我假设你的开发语言支持com对象,因此只需将上面的代码修改为你喜欢的任何语言。通过剪切+粘贴上面的记事本来尝试代码。将文件扩展名重命名为.vbs。该图标将从记事本更改为vbs。双击这个来运行脚本。 – 2010-06-24 03:49:23

+0

如何更改代码以运行accdb? – user236501 2010-07-02 09:17:38

相关问题