我正在尝试使用ASP.NET MVC将Excel文件导入我的数据库,但我会收到此错误:
system.argumentException:不支持关键字:'元数据'
关于连接
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-PCconnect;initial catalog=Réception;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
如何解决这个问题?谢谢!
您所拥有的连接字符串用于数据库 - 第一连接。对于EF来说,这很好,但对SqlConnection
不起作用。
所以您需要做的是拥有2个连接字符串 - 保持一个连接字符串,然后添加另一个连接字符串:
<add name="RéceptionEntities_SQL"
connectionString="data source=LOl-PCconnect;initial catalog=Réception;integrated security=True;MultipleActiveResultSets=True"
providerName="System.Data.SqlClient" />
并且当您需要使用RAW SQL连接到DB时,您只需引用其他连接字符串:
var conn = ConfigurationManager.ConnectionStrings["RéceptionEntities_SQL"].ConnectionString;
var con = new SqlConnection(conn);
只需要记住在部署或更新一个字符串时更新两个连接字符串。
这是一些阅读:
- 连接字符串
- 连接字符串语法
- connectionstrings.com
- 相关问题