如果当前数据库连接失败,则提示用户浏览数据库连接

时间:2015-05-01 17:25:18

标签: database vb.net database-connection localserver

我正在vb.net中构建一个数据输入程序,5个人将共享使用,我在设置正确的数据库连接时遇到问题。它会做基本的事情,如:拉起股票单位,节省工作,加载工作操作。

我使用的数据库是Access数据库(.mdb)。此数据库将位于本地服务器驱动器中(我的驱动器位于Z驱动器中),连接字符串如下所示

Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Z:\Jimmy's Files\Quality Enclosures.mdb"

这在我的计算机上工作正常,但问题是它在我的同事计算机上不起作用。

d(\ dc-qenclosures)(Z :)是我本地服务器驱动器的运行,但是在我的同事的计算机上,它被设置为 d(\ dc-qenclosures)(Q :)。

所以,每当我在同事的计算机上打开程序时,它都会给我一个错误,说数据库OpenFileDialog不存在(这是有道理的,因为它不在Z:on下他的电脑)

我知道如何使用Private Sub RadButton6_Click(sender As Object, e As EventArgs) Handles RadButton6.Click Dim myStream As Stream = Nothing Dim openFileDialog1 As New OpenFileDialog() openFileDialog1.InitialDirectory = "c:\" openFileDialog1.Filter = "mdb files (*.mdb)|*.mdb|All files (*.*)|*.*" openFileDialog1.FilterIndex = 1 openFileDialog1.RestoreDirectory = True If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then Try myStream = openFileDialog1.OpenFile() If (myStream IsNot Nothing) Then myConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & openFileDialog1.FileName con.ConnectionString = myConString con.Open() End If Catch Ex As Exception MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message) Finally ' Check this again, since we need to make sure we didn't throw an exception on open. If (myStream IsNot Nothing) Then myStream.Close() End If End Try End If End Sub 浏览mbd文件..但是如何将其设置为新的数据库连接? 我想创建一个属性菜单来设置数据库位置。

这是我到目前为止浏览数据库文件的代码

doc min

1 个答案:

答案 0 :(得分:0)

我的第二个@ OneFineDay建议首先尝试UNC路径,但是为了回答您浏览和保存数据库路径的主要问题,您可能希望查看在My.Settings中存储连接字符串的元素,因此您可以将路径设置为用户级别。这里有一个MSDN文章,其中包含示例: Using My.Settings in Visual Basic 2005

简而言之,您将拥有共享的代码示例,将值保存到My.Settings.DataPath(或者您决定调用该设置的任何内容)。然后,当您连接到数据库并需要连接字符串时,您可以从My.Settings.DataPath读取它。

当然,默认情况下,这会将您的路径存储在纯文本app.config文件中,所以如果有任何安全问题,您需要注意这一点并采取适当的措施你的应用程序或数据库。