0

私は、Visual Studio 2010 を使用して VB.Net で Web サイトを構築する開発者です。ユーザーが前の画面での決定に基づいて Web サイトにアクセスしたときに、いくつかのフィールドにデータを入力しようとしています。

私の接続情報は次のとおりです。

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」のログインに失敗しました

これはローカルデータベースなので、ユーザー名とパスワードは必要ないと思いました。私が間違っている?

また、これを商用環境に転送するときに賢明ではない、上記のコードに明らかな慣行はありますか?

ありがとう!

4

1 に答える 1

0

解決済み:

接続文字列には、追加のファイルパス情報が必要でした。

成功した接続情報は次のとおりです。

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

統合セキュリティが True に設定されている場合、コンピューターはユーザーが使用している実際のコンピューター上のユーザーのログイン情報を使用すると想定されるため、ユーザー名は必要ありませんでした。


于 2013-02-05T15:02:52.500 に答える