Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 不支持关键字:'&引用;数据源';。在MVC中_C#_Asp.net Mvc_Sqlconnection - Fatal编程技术网

C# 不支持关键字:'&引用;数据源';。在MVC中

C# 不支持关键字:'&引用;数据源';。在MVC中,c#,asp.net-mvc,sqlconnection,C#,Asp.net Mvc,Sqlconnection,我遇到了这个错误 ([ArgumentException:不支持关键字:''数据源'.]) 在我的MVC应用程序中,我尝试在控制器中运行标准SQL查询,而不使用EF。我读过其他一些关于转义引语的文章,但到目前为止没有任何效果。我的连接代码如下: userDataQry = -->Long SQL Query contained in this variable <---; connString ="\"Data Source = data.testdomain.com; Initia

我遇到了这个错误

[ArgumentException:不支持关键字:''数据源'.]

在我的MVC应用程序中,我尝试在控制器中运行标准SQL查询,而不使用EF。我读过其他一些关于转义引语的文章,但到目前为止没有任何效果。我的连接代码如下:

userDataQry = -->Long SQL Query contained in this variable <---;
connString ="\"Data Source = data.testdomain.com; Initial Catalog = DashboardData; IntegratedSecurity = True; Application Name = DMetricsApp; \"providerName=\"System.Data.SqlClient\""; 

不要在连接字符串的开头和结尾加双引号

connString =@"Data Source=data.testdomain.com;
              Initial Catalog=DashboardData;
              IntegratedSecurity = True; 
              Application Name = DMetricsApp;";

同时删除提供程序名称部分。当您使用System.Data.SqlClient中的类时,不需要它。当您传递连接字符串时,它基本上是
SqlConnectionStringBuilder
类将创建的内容的简写;但是,当使用@作为字符串文字时,如果在属性之间和属性名称内使用空格,则可能会出现问题,因为它可能会进行拆分

你可以用艰难的方式:

string connstring = (new SqlConnectionStringBuilder() {
    DataSource = "data.testdomain.com;"
    , InitialCatalog = "DashboardData"
    , IntegratedSecurity = true
    , ApplicationName = "DMetricsApp"
    }).ToString();

从VisualStudio将连接添加到DB,并查看它将在Web中创建的连接字符串中的差异。configI遵循Web.Config中默认连接字符串的格式,除name和AttachDbFileName属性外,进行您建议的调整后仍然会出现相同的错误请注意,声明了一个可能的输入错误ConnString,但您使用了ConnString,它们是两个不同的字符串。您使用ConnString时仍然会出现该异常吗“数据源。。。在数据源键之前仍然有双引号?如果是的话,那么这里还有其他因素在起作用。检查设置该字符串的位置是否有其他点。是。我的字符串与您建议的修复匹配。仍然得到相同的错误。记录在案。当我测试时,Web.Config中的连接字符串会被注释掉。这个连接在我的控制器的一个函数体中。这真的很奇怪,数据源绝对是一个很好的键。尝试将其替换为别名服务器(无引号),请参阅
string connstring = (new SqlConnectionStringBuilder() {
    DataSource = "data.testdomain.com;"
    , InitialCatalog = "DashboardData"
    , IntegratedSecurity = true
    , ApplicationName = "DMetricsApp"
    }).ToString();