2

Visual Studio 2008 と Sql Server 2008 Express を使用して Web サイトを開発しています。私は開発を始めたので、同じツールで正しく実行している私の同僚が何人かいるので、コードは正しいです。問題は、Web サイトを実行すると、データベースと通信できないことです。どちらも私のローカルマシンにあります。スローされるエラーは次のとおりです。

SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)

奇妙なことに、 Data Explorerパネルを使用して、Visual Studio 自体を介してデータベースをナビゲートできます。そうすることで、プロパティから接続文字列を読み取ると、次のようになります

データ ソース=*MY_MACHINE*\SQLEXPRESS;初期カタログ=*MY_DB*;統合セキュリティ=True

私もいくつかの変更を試みました

データ ソース=.\SQLEXPRESS;初期カタログ=*MY_DB*;統合セキュリティ=True

データ ソース=localhost\SQLEXPRESS;初期カタログ=*MY_DB*;統合セキュリティ=True

どちらも結果なし。

ありがとう

4

1 に答える 1

1

問題は、ASP.NETワーカープロセスにデータベースにアクセスする権限がないことです。

これを修正する方法はいくつかありますが、最も簡単な方法は、ローカルグループ全員にデータベースへのアクセス権を与えることです。その後、接続できるようになります。

また

統合セキュリティを使用しないように接続文字列を変更して、ユーザー名とパスワードを指定することができます

また、イベントログに適切なエラーメッセージ(USERなどがデータベースへのアクセスを許可されていないことを示す)が表示されたら、そのユーザーだけに権限を付与できます。

あなたがあなた自身として走っているとき、あなたはあなた自身として接続していて、あなたには権利があります。IIsが実行されている場合、それはワーカープロセスとして実行されており、そのユーザーは接続できません。

于 2013-01-09T18:23:47.240 に答える