1

を使用しconfigurationmanager.appsettingていますが、行でエラーが発生していcn.Openます。

Web フォームのコードは次のとおりです。

public partial class admin_CheckDocuments : System.Web.UI.Page
{
    SqlConnection cn = new SqlConnection(ConfigurationManager.AppSettings["con"]);
    string sql;
    string str;

    protected void Page_Load(object sender, EventArgs e)
    {
        cn.Open();
        str = Request.QueryString["taxid"];

        if (!IsPostBack)
        {
            filldata();
        }
    }

web.configは:

<configuration>
    <connectionStrings/>
    <appSettings>
       <add key="con" 
            value="Data Source=EGGG\SKDB;Initial Catalog=tax;Integrated Security=true"/>
    </appSettings>

エラーは

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

4

2 に答える 2

5

この問題が発生する理由は、サーバー名が間違っている、リモート接続が無効になっている、ファイアウォールがブロックされているなどの可能性があります。

この問題を解決するには、以下の手順に従ってください。

· SQL Server が実行されているサーバーにアクセスできることを確認します。ping コマンドを使用してテストできます。たとえば、ping **または ping. ping コマンドがファイアウォールによってブロックされている可能性があります。ファイアウォールで ICMP が有効になっていることを確認してください。 詳細情報**

·適切なプロトコルを選択

·使用するように選択したプロトコルに基づいて、Windows ファイアウォールを適切に構成します。Windows ファイアウォールを構成して SQL Server を許可する方法の詳細については、詳細情報を確認してください

·SQL Server ブラウザ サービスを有効にする

次の両方に該当する場合は、SQL Server Browser Services を有効にする必要があります。

1.SQL Server が既定の 1433 ポートでリッスンしていないか、既定のパイプ名 \.\pipe\sql\query を使用していません。

2.対応する TCP ポートまたはパイプ名が接続文字列 (Srv1\SQL2008、1500 など) で指定されていません。

SQL Server Browser Services を有効にしている場合でも、Windows ファイアウォールで Browser Services が使用する UDP 1434 ポートを開く必要があります。

それが解決したら教えて

于 2012-11-01T20:24:18.470 に答える
2

接続文字列でこれに気付きました:

統合セキュリティ=true

これは、コードが asp.net プロセスを実行しているサーバー アカウントの資格情報を使用して接続を試みることを意味します。これは多くの場合、ネットワーク サービス、ローカル サービス、IIS_IUSRS などのローカル アカウントです。これは変更できますが、デフォルトでは、データベースにログインする権限さえ持っていない可能性があります。

于 2012-11-01T20:16:53.970 に答える