0

ローカルコンピューター上のSQLServer2008 R2でホストされているデータベースに接続し、そのデータベースでいくつかの操作を行うWebサービスを作成しました。

これは、Webサービスの接続文字列です。

conn = new SqlConnection("Data Source=amir-pc\\SQLEXPRESS;User Id=sa;Password=1234; Initial Catalog=Election;Integrated Security=True");

それはうまく機能し、データベースに正常にアクセスし、正しく実行されます。

次に、このWebサービスをIISに追加します。

Windows 7でIISに正常に追加し、ブラウザーから実行できます。

localhost/election_service/service.asmx

しかし、接続をチェックする関数を呼び出そうとすると失敗し、理由がわかりません。これは機能です:

[WebMethod]
    public string Check_conn()
    {
        try
        {
            conn.Open();
            conn.Close();
            return "ok";
        }
        catch 
        {
            return "failed";
        }
    }

データベースにアクセスできるようにするために必要な変更はありますか?

4

1 に答える 1

0

こんにちは、より多くの情報を提供できますか?コードを変更して、発生している例外を確認してください。

public string dbcheck()
{
    try
    {
        conn.Open();
        conn.Close();
        return "ok";
    }
    catch (Exception ex)
    {

        return ex.Message;

    }
}

こんにちは、それでは .. はログインの問題です: IIS を開きます アプリケーション プールを開きます 現在のアプリケーション プールを選択します (デフォルトでは DefaultAppPool です) 詳細オプションに移動し、ID を見つけて (NT AUTHORITY\Network Service) に変更しますアプリケーション ユーザーが変更されました。次に、ネットワーク サービスへのアクセス許可をデータベースに追加する必要があります SQlMananger を開き、[ノード セキュリティ] に移動し、右クリックして [プロパティ] に移動し、[NT AUTHORITY\Network Service] に移動します [ユーザー マッピング] に移動し、許可するデータベースを追加しますアクセス。

于 2012-12-03T12:00:16.857 に答える