无需安装或运行时文件即可从.NET VB连接到Access DB

时间:2019-04-04 01:45:22

标签: vb.net ms-access

我正在开发.net VB的应用程序,我想使用MS Access数据库存储数据。

反正有本地连接以从VB .net访问吗?无需安装运行时,库或根本不需要任何安装–仅.exe文件。

我需要这样做,因为我将部署在一个讨厌ms访问并且不允许用户安装任何东西的站点上,因此安装应用程序的唯一方法是将exe和数据文件复制到一个文件夹中。

我可以使用库或dll,因为我也可以复制它,但是我绝对不能安装任何东西。

我正在使用的代码是

    dbProvider = "PROVIDER=Microsoft.Ace.OLEDB.12.0;" 'ACCDB
    MyConnection.ConnectionString = dbProvider & dbSource & dbPathAndFilename
    MyConnection.Open()
    MySql = "SELECT * FROM tblTreeData order by Sort;"
    MyAdaptor = New OleDb.OleDbDataAdapter(MySql, MyConnection)
    MyAdaptor.Fill(MyDataSet, "TreeData")
    MyAdaptor.Dispose()
    MyConnection.Close()

这在安装了库的开发计算机上可以正常运行,但是当我在未安装所有MS运行时的目标计算机上尝试时,这会产生运行时错误。

1 个答案:

答案 0 :(得分:1)

如果使用JET(而不是ACE),则无需安装任何软件。 Windows,因为大约Windows 98(第二版)默认情况下确实包含JET数据库引擎。 但是,JET仅限于mdb格式的文件。如果需要使用较新的文件格式accDB,则必须使用默认情况下未安装的ACE提供程序。

因此,如果您要使用Word,Powerpoint或Outlook,那么当然自计算机行业兴起以来,就需要在目标计算机上安装适当的库。

如果使用的是.net 4.5,则当然也必须安装该库。

但是,请记住,您不必安装完全访问权限,甚至不必安装Access运行时。

您可以单独安装ACE数据库引擎。因此,在过去的20年中,JET安装在Windows上。但是,您可以独立于Access安装ACE数据引擎。

可以在这里找到: https://www.microsoft.com/en-ca/download/details.aspx?id=13255

请记住,ACE数据引擎的x32位版本和x64位版本均可用。

它的大小是25兆,所以不小。但是,至少与必须安装免费的Access运行时或(完整版)Access相比,数据引擎的麻烦要少得多。 (我上次看时,它们的大小在200兆范围内)。

请记住,您要选择正确的ACE引擎位大小进行下载和安装。

在大多数情况下,我确实建议您安装x32位版本,但这将强烈建议您然后将.net项目强制为x86,而不是.net项目设置的“任何cpu”。