cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\solutionvs10\test\test\bin\Debug\db2.mdb;**Jet OLEDB:Database Password=secret**")
cn.Open()
''# codes
cn.Close()
我使用 V S 2010 以上是我的代码......你可以看到它是Ms Access DataBase ....(密码保护) 如何创建设置.....可以 轻松 安装其他计算机.........
我可以创建这样的设置???
答案 0 :(得分:3)
首先,您发布的此代码错误:
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\solutionvs10\test\test\bin\Debug\db2.mdb;**Jet OLEDB:Database Password=secret**")
cn.Open()
''# codes
cn.Close()
错误的原因是因为您无法保证关闭数据库连接,最终导致应用程序无法访问您的数据库的状态。这在开发测试中不会发生,因为这样的测试往往是短暂的,但将发生在您的用户身上,他们倾向于让应用程序在更长的时间内保持运行。
现在,我知道你在想,“是的,我正在关闭我的联系。你看不到cn.Close()
吗?”是的,我明白了。但这还不够好。有一些情况(例外是大的)会导致此代码无法运行。编写此代码的正确方法如下:
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\solutionvs10\test\test\bin\Debug\db2.mdb;**Jet OLEDB:Database Password=secret**")
Try
cn.Open()
''# codes
Finally
cn.Close()
End Try
VB.Net中有一个简短的语法,如下所示:
Using cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\solutionvs10\test\test\bin\Debug\db2.mdb;**Jet OLEDB:Database Password=secret**")
cn.Open()
''# codes
End Using ''# No need to call .Close() any more, the Using structure takes care of it
现在,关于实际的部署问题。
您需要将一个安装项目添加到包含您的应用程序项目的同一解决方案中。然后,您应该能够将主项目的输出用作安装项目的包,并将初始数据库文件包含为内容资源。安装项目中不需要包含任何其他内容; Windows包括开箱即用的Jet数据库引擎。您可能需要花一些时间确保将相应的.Net框架运行时安装为依赖项(如果需要)。
答案 1 :(得分:2)
为了便于在另一台计算机上安装,我建议使用SQLite或SQL Server Compact。访问配置也可能比sqlite或mssql compact更难。
除此之外,我建议使用ClickOnce部署应用程序。 Documentation here
答案 2 :(得分:2)
正如Will指出的那样,将.mdb文件包含在你的项目中可能就是你要找的东西。您可以在项目管理器中执行此操作,然后调整属性,以便将文件发布到应用程序文件夹(复制到输出目录=始终复制)。
在代码中,您应该将数据库称为
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & My.Application.Info.DirectoryPath & "\db2.mdb;**Jet OLEDB:Database Password=secret**")
因为您不知道客户端计算机上数据库的安装路径。
另一方面,您可能希望确保将应用程序发布为32位应用程序,因为Jet4.0不适用于64位应用程序(请参阅http://connect.microsoft.com/VisualStudio/feedback/details/123311/win-xp-x64-jet-v4-0)
答案 3 :(得分:1)
我认为将MDB文件作为项目的一部分,并设置正确的属性以便将其复制到应用程序文件夹中就可以了。
另一方面,您必须确保将MDAC 2.8
设置为项目依赖项之一,以便通知或要求您的用户下载并将其安装到他们的计算机上。
我认为您可以通过ClickOnce
部署,否则创建一个SetUp project
,这是可行的。