【问题标题】:Connecting to local sql server in vb.net - Error Connecting and difference between Local and Commercial?连接到 vb.net 中的本地 sql 服务器 - 连接错误以及本地和商业之间的区别?
【发布时间】:2013-02-04 16:56:14
【问题描述】:

我是一名使用 Visual Studio 2010 在 VB.Net 中构建网站的开发人员。当用户根据他们在前一个屏幕上的决定访问网站时,我试图填充一些字段。

我的连接信息如下:

Dim myDataReader As SqlDataReader
Dim myConnection As SqlConnection
Dim myCommand As SqlCommand
Dim strSQL As String

myConnection = New SqlConnection("Data Source=localhost\sqlexpress; Database=PREP; Integrated Security=SSPI;")
Try
    myConnection.Open()
Catch ex As Exception
    MsgBox(ex.Message)
End Try

strSQL = "SELECT * FROM Charts where ID=1"

myCommand = New SqlCommand(strSQL, myConnection)

myDataReader = myCommand.ExecuteReader()

If myDataReader.Read() Then
    TextBox1.Text = myDataReader.Item("Priority1")
Else
    MsgBox("Didn't work...")
End If

我继续得到的错误是:

无法通过登录打开数据库“PREP”。登录失败。用户“OR-AA-Me\Me”登录失败

我假设因为它是一个本地数据库,所以我不需要用户名和密码。我错了吗?

此外,当我将其传输到商业环境时,上述代码中是否存在不明智的做法?

谢谢!

【问题讨论】:

  • 你需要提供用户名,另外,假设你有一个本地数据库,你的数据源应该是本地主机。

标签: vb.net visual-studio-2010 sql-server-2008


【解决方案1】:

已解决:

连接字符串只需要额外的文件路径信息。

连接成功信息为:

myConnection = New SqlConnection("Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\PREP.mdf; Integrated Security=True; User Instance=True")

不需要用户名,因为集成安全设置为 True 假定计算机将在用户实际使用的计算机上使用用户的登录信息。


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    相关资源
    最近更新 更多