0

我创建了一个 Web 服务,它连接到本地计算机上托管在 SQL Server 2008 R2 中的数据库,并对其进行一些操作。

这是 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;

    }
}

嗨,然后..是登录问题:Open IIS Open Application Pool Select your current application pool are you current working(默认为 DefaultAppPool) 转到高级选项,找到身份并更改为(NT AUTHORITY\Network Service)然后你已更改您的应用程序用户,现在您需要将网络服务权限添加到数据库打开 SQlMananger,然后转到节点安全,右键单击和属性转到 NT AUTHORITY\网络服务转到用户映射并添加您要允许的数据库使用权。

于 2012-12-03T12:00:16.857 回答