46

何日も解決しようとしている大きな問題がありますが、解決できなかったので、あなたの助けが必要です. カスタムメンバーシップとロールプロバイダーを実装したasp.net 4.0にWebアプリケーションがあります。アプリのホームページを開くと、データベースに接続して情報を取得します。ログインフォームもあり、ログインすると、データベースを介してユーザーが検証され、予約済みのページにリダイレクトされますが、次のエラーが表示されます。

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

説明:

現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細:

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

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。

私は多くのことを試しましたが、スタックオーバーフローで見つけたいくつかの解決策はありましたが、何も機能しませんでした。ここに私の接続文字列があります:

<connectionStrings>
  <clear/>
  <remove name="LocalSqlServer"/>
     <add name="LocalSqlServer" connectionString="Data Source=MSSQL2008-1;Initial Catalog=agency;
        Integrated Security=False;User ID=adis_agency;Password=niarda2012;Connect Timeout=180;Encrypt=False;
        Packet Size=4096" providerName="System.Data.SqlClient" />
     <add name="AgencyConn" connectionString="Data Source=MSSQL2008-1;Initial Catalog=agency;
        Integrated Security=False;User ID=adis_agency;Password=niarda2012;Connect Timeout=180;Encrypt=False;
        Packet Size=4096" providerName="System.Data.SqlClient"/>
</connectionStrings>

以下は、メンバーシップとロール マネージャーの web.config セクションでもあります。

<membership defaultProvider="AuthProvider">
  <providers>
    <clear/>
      <add name="AuthProvider" type="AuthenticationProvider" applicationName="~/Reserved/" connectionStringName="AgencyConn"/>
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="MyRoleProvider">
  <providers>
    <clear/>
      <add name="MyRoleProvider" type="RoleAccessProvider" connectionStringName="AgencyConn"/>
  </providers>
</roleManager>

誰が何が間違っているかを理解するのを手伝ってくれますか?

4

19 に答える 19

53

Windows マシン A から Windows マシン B (SQL Server がインストールされているサーバー) に接続しているときにこのエラーが発生する場合は、次の手順を実行する必要があります。

マシン B:

1.) 「SQL Server Browser」という Windows サービスをオンにして、サービスを開始します。

2.) Windows ファイアウォールで、受信ポート UDP 1434 を有効にします (マシン A 上の SQL Server Management Studio が接続している場合、またはマシン A 上のプログラムが接続している場合)。

3.) Windows ファイアウォールで、着信ポート TCP 1433 を有効にします (telnet 接続がある場合)。

4.) SQL Server 構成マネージャーで、ポート 1433 の TCP/IP プロトコルを有効にします。

ここに画像の説明を入力

于 2013-03-14T18:16:47.057 に答える
7

答えはエラー メッセージ自体にあります。

Error Locating Server/Instance Specified

基本的に、接続文字列に間違ったサーバー\インスタンスがあります。つまり、次のビットです。

Data Source=MSSQL2008-1

が間違っていてサーバーを指していないか、サーバー名が IP アドレスに解決されません。その他の 2 つの可能性: (1) SQL Server を実行しているボックスで SQL Browser サービスが実行されていないか、(2) SQL ボックスの Windows ファイアウォール (またはその他のファイアウォール) が着信接続を拒否しています。

最終的に、サーバー名が正しい場合、それはネットワークの問題になり、クライアントがサーバーに接続できない理由を突き止める必要があります (これは、SQL Server の構成の問題よりも基本的なネットワークの問題である可能性が高くなります)。 .

于 2012-12-06T23:38:03.467 に答える
3

.\SQLEXPRESS を変更し、SQL Express 名のみを追加すると、うまくいきます

 <add name="BlogDbContext" connectionString="data source=your name here; initial catalog=CodeFirstDemo; integrated security=True" providerName="System.Data.SqlClient"/>
于 2018-06-22T23:53:50.593 に答える
1

この問題は、DNS がホスト名を解決できないために発生します。「コンピュータ名」の代わりに IP アドレスを使用してみてください。

于 2015-09-22T07:28:28.067 に答える
1

最近、同じ問題が発生しました。コードが machine.confg ファイルで「LocalSqlServer」という名前の接続文字列を探していることがわかりました。この行を追加しましたが、正常に動作しています。

于 2013-01-04T10:34:42.233 に答える
1

i had this issue, and fixed it. the problem seemed to be this:

wrong:

<add key="aaa" value="server=[abc\SQL2K8];database=bbb;uid=ccc;password=ddd;" />

right

<add key="aaa" value="server=abc\SQL2K8;database=bbb;uid=ccc;password=ddd;" />
于 2014-04-10T15:21:27.710 に答える
0

この問題には約 1 日かかりました。私の ASP.NET MVC プロジェクトの 1 つで、幸いなことに、実稼働環境ではなく自分のマシンで問題が発生したため、web.config を比較して、エラーが消えたことを確認して削除しました...本当の課題ですSQL Serverエラー26をこの問題に接続します

于 2016-12-05T05:40:41.603 に答える
0

同じ問題。私の場合、プロジェクトを「スタートアッププロジェクト」として設定することを解決しました。

于 2019-01-07T06:33:08.420 に答える