来自IIS7的MSSQL连接

时间:2013-11-19 09:51:35

标签: c# sql-server visual-studio-2012 ssl iis-7

VS是一个痛苦的屁股。

使用IIS Express进行调试时 - 无需创建SSL证书或其他任何东西 - 一切正常:数据库连接,AD连接,SQL连接。 当使用自签名证书发送IIS 7上的所有内容时,没有任何作用,一切都会抛出错误,而且在没有VS调试工具的情况下我一个人待着。

如何使用以下代码

        dbconn = new SqlConnection("user id=test;password=test;server=server01;Trusted_Connection=true;TrustServerCertificate=true;database=test;connection timeout=5");
        try
        {
            dbconn.Open();
        }
        catch (Exception e)
        {
            Debug.Message("dbconn.open failed: " + e.Message);
        }

在我的开发机器上运行时有效,但在server03上的IIS7上它返回

dbconn.open failed: Login failed for user 'INTRA\SERVER03$'.

特别是为什么用户'INTRA \ _SERVER03 $'(不存在,顺便说一句),而不是我在连接字符串中明确指定的用户?

1 个答案:

答案 0 :(得分:0)

问题是连接字符串,应该设置为:

user id=test;password=test;server=server01;TrustServerCertificate=true;database=test;connection timeout=5

完成此操作后,下一个问题可能是“SELECT权限被拒绝”,这是因为我的sql用户“test”未设置为数据库“test”的db_datareader(在SSMS下的Security => ;登录)。

这给了我一个很好的后续问题:为什么它在IIS Express中完全可以工作?