(ウェブ上にこのような質問がたくさんあることを知っています。これを解決するために数日を費やしましたが、どこにも行きません。これは初めてですので、ご容赦ください)
1.問題
アプリケーションをインストールした後、SQL Server 2005 Expressを友人のコンピューター(Vista Home Premium)にインストールし、アプリケーションを起動するか、アプリケーション内で新しいフォーム(C#Windowsフォーム)を開くたびに、データベース(mdfファイル)を新しいSQLサーバーに接続します。次のメッセージが表示されます。
System.Data.SqlClient.SqlException:ユーザー''のログインに失敗しました。ユーザーは信頼できるSQLServer接続に関連付けられていません。
[続行]をクリックすると、データベースの読み取り/書き込みが可能になり、アプリケーションは期待どおりに機能します(新しいフォームを開いて同じメッセージが再度表示されるまで)。
2.これが私がこれまでに行ったことです。
多くのスレッドで提案されているのを見てから、「SQL ServerとWindows認証モード」をオンにしましたが、役に立ちません。
私の現在の接続文字列:
"データソース=。\SQLEXPRESS;初期カタログ=pj;統合セキュリティ=SSPI;"
接続文字列に「。\SQLEXPRESS」が含まれているため、「computer-name \ username」(私の場合は「TONY-COMPUTER \ TONY」)に接続しようとします。そのため、その名前のSQLユーザーをロールメンバーシップdb_datareaderと一緒に追加しました。 db_datawriterを使用して、DBに対して読み取り/書き込みを行うことができます。
また、次のような接続文字列を試してみました。
"データソース=。\SQLEXPRESS;初期カタログ=pj;ユーザーID=トニー;パスワード=123;"
次に、SQLユーザー「Tony」を追加しました。
しかし、私は同じエラーを受け取り続けます。私が困惑しているのは、エラーメッセージにユーザー名がないことです。「TONY-COMPUTER \ TONY」または「Tony」が表示されると思いますが、空白です。
どんな助けでも大歓迎です!
/トニー