我正在尝试使用ASP.NET MVC将Excel文件导入我的数据库,但是我收到此错误:
System.ArgumentException:不支持关键字:'metadata'
关于连接
SqlConnection con = new SqlConnection(conn);
在这部分代码中:
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string conn = ConfigurationManager.ConnectionStrings["RéceptionEntities"].ConnectionString;
SqlConnection con = new SqlConnection(conn);
string query = "Insert into Réception_camions(Date_d_arrivée,heure_d_arrivée,Poids_cam,Id_cam,Id_qualité) Values('" + ds.Tables[0].Rows[i][0].ToString() + "','" + ds.Tables[0].Rows[i][1].ToString() + "','" + ds.Tables[0].Rows[i][2].ToString() + "','" + ds.Tables[0].Rows[i][3].ToString() + "','" + ds.Tables[0].Rows[i][4].ToString() + "')";
con.Open();
SqlCommand cmd = new SqlCommand(query, con);
cmd.ExecuteNonQuery();
con.Close();
}
我的连接字符串:
<add name="RéceptionEntities"
connectionString="metadata=res://*/Models.MVCTutorialModel.csdl|res://*/Models.MVCTutorialModel.ssdl|res://*/Models.MVCTutorialModel.msl;provider=System.Data.SqlClient;provider connection string="data source=LOl-PC\connect;initial catalog=Réception;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
如何解决这个问题?谢谢!
答案 0 :(得分:0)
您拥有的连接字符串用于数据库优先连接。这适用于EF,但不适用于SqlConnection
。
所以你需要做的是拥有2个连接字符串 - 保持一个连接字符串,并添加另一个连接字符串:
<add name="RéceptionEntities_SQL"
connectionString="data source=LOl-PC\connect;initial catalog=Réception;integrated security=True;MultipleActiveResultSets=True"
providerName="System.Data.SqlClient" />
当您需要使用原始SQL连接到数据库时,只需引用另一个连接字符串:
var conn = ConfigurationManager.ConnectionStrings["RéceptionEntities_SQL"].ConnectionString;
var con = new SqlConnection(conn);
只需记住在部署或更新其中一个字符串时更新两个连接字符串。
以下是一些阅读: