我在项目中创建了一个基于服务器的数据库,以便我的程序可以直接在本地访问数据。但是,当我运行我的程序时,它似乎无法找到MDF,我收到以下错误消息:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)
Dim con As New SqlConnection
Dim cmd As New SqlCommand
Dim rd As SqlDataReader
con.ConnectionString = "Data Source=|DataDirectory|\Database.mdf;Integrated Security=true"
cmd.Connection = con
con.Open()
cmd.CommandText = "select AdminID password from Admin where AdminID = '" & txtAdminID.Text & "' and AdminPassowrd = '" & txtPassword.Text & "' "
rd = cmd.ExecuteReader
If rd.HasRows Then
Administration.Show()
Else
MessageBox.Show("Please re-enter your login credentials")
End If
我试图从中提取数据的表存在,如您所知:
我不确定为什么程序找不到MDF,因为它位于主目录中。
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
您的错误消息是关于SQL Server的,因此问题可能是您没有使用正确的提供程序来访问MDF文件。您没有指定它,因此您可能正在获得默认的SQL Server oledb提供程序。
尝试在连接字符串中指定:Provider = Microsoft.ACE.OLEDB.12.0或Provider = Microsoft.Jet.OLEDB.4.0
有关详细信息,请参阅http://www.connectionstrings.com/access/。
答案 1 :(得分:0)
我得到了它的工作。
con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"