Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发布解决方案时连接字符串不起作用_C#_Asp.net_Sql Server - Fatal编程技术网

C# 发布解决方案时连接字符串不起作用

C# 发布解决方案时连接字符串不起作用,c#,asp.net,sql-server,C#,Asp.net,Sql Server,发布项目时,出现以下错误: System.Data.SqlClient.SqlException(0x80131904):用户登录失败 “服务器用户名”。在 System.Data.SqlClient.SqlInternalConnectionDS..ctor(DbConnectionPoolIdentity 标识,SqlConnectionString 我收到错误的原因是因为我正在对该连接字符串使用windowns身份验证。它在我的本地计算机上运行良好,但当我发布具有该站点的不同服务器时,它会

发布项目时,出现以下错误:

System.Data.SqlClient.SqlException(0x80131904):用户登录失败 “服务器用户名”。在 System.Data.SqlClient.SqlInternalConnectionDS..ctor(DbConnectionPoolIdentity 标识,SqlConnectionString

我收到错误的原因是因为我正在对该连接字符串使用windowns身份验证。它在我的本地计算机上运行良好,但当我发布具有该站点的不同服务器时,它会给我该错误。它应该使用windowns身份验证,因为这不是我在该服务器上发布的第一个应用程序,所以我不了解d为什么当它连接到该服务器“thisserver”时,它没有使用正确的windowns身份验证进行连接

 <add name="wfserver" 
      connectionString="Server=thisserver;Database=thisdatabase;Integrated Security=True;MultipleActiveResultSets=True;Trusted_Connection=True;" 
      providerName="System.Data.SqlClient" /> 

您是否在本地发布站点?如果是,那么您使用什么从SSMS访问SQL Server都不会有问题。如果您发布到其他位置,则我将创建一个数据库名和密码,并替换您Webconfig CNConnectionString

在短消息中,创建一个类似sa的帐户和密码。请尝试以下操作。 “服务器=myServerAddress;数据库=myDataBase;用户Id=myUsername;
Password=myPassword;“

这是个愚蠢的问题,但您是否检查过“服务器用户名”有权访问数据库?它肯定不是您在本地计算机上使用的同一用户。您的web服务器是什么?您必须授予对
thisdatabase
上IIS应用程序池的访问权限。该用户将
IIS APPPOOL\AppPoolName
更改为运行您的应用程序的实际应用程序池名称
//     using (SqlConnection conn = new SqlConnection(connectionString))
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["wfserver"].ToString()))
{

   "select * from mytable where year = @yearnumber ";

    SqlDataAdapter sda = new SqlDataAdapter(query, conn);
    sda.SelectCommand.Parameters.AddWithValue("@yearnumber", year);


    DataTable dt = new DataTable();
    sda.Fill(dt);
    List<workflowMonthly> modelList = new List<workflowMonthly>();
    foreach (DataRow row in dt.Rows)
    {
        var model = new workflowMonthly()
        {
            WorkflowName = row["WorkflowName"].ToString(),
            ...
        };

        modelList.Add(model);
    }

    return modelList;
}

  @User.Identity.Name (shows correct windows authentication)

  @using (Html.BeginForm("page", "Reports", FormMethod.Post, new { id = "commentForm", role = "form" }))

 {}