我正在开发.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运行时的目标计算机上尝试时,这会产生运行时错误。
答案 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”。