我的工作是维护一个使用 ASP.NET 和 Mysql 数据库的网站。
网站和数据库部署在同一台物理机上。
这几天发生了一件有趣的事情。
我使用 C# 代码 mysqlclient lib 在后面的代码中编写代码,将超过 50K 的记录插入 mysql 数据库。
我用过交易。
如果我在本地机器上运行代码以插入远程 mysql 服务器,一切都很好。
但是,在我将此代码发布到服务器之后。仅插入了 6827 条记录,并且每次的记录数相同。并且没有抛出异常。
有没有人知道原因?
此致,
赵菲利克斯
我的代码显示如下:
public bool UpdateEGNAL(DataSet ds)
{
bool result = true;
#region Query String
string sql = @"INSERT INTO eg_named_account_list (Csg_Segment,Stm,L0_Id,L0_Account,Geography,Province,City,City_Id,A_Id,L2_AMID,L2_Account,A_Id_City_Id...@SWD_Effective_Month)";
#endregion
using (MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(Connectionstr))
{
conn.Open();
foreach (DataRow r in ds.Tables[0].Rows)
{
MySql.Data.MySqlClient.MySqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Csg_Segment", r["Csg Segment"]);
cmd.Parameters.AddWithValue("@Stm", r["Stm"]);
cmd.Parameters.AddWithValue("@L0_Id", r["L0 Id"]);
cmd.Parameters.AddWithValue("@L0_Account", r["L0 Account"]);
cmd.Parameters.AddWithValue("@Geography", r["Geography"]);
cmd.Parameters.AddWithValue("@Province", r["Province"]);
cmd.Parameters.AddWithValue("@City", r["City"]);
cmd.Parameters.AddWithValue("@City_Id", r["City Id"]);
cmd.Parameters.AddWithValue("@A_Id", r["A Id"]);
cmd.Parameters.AddWithValue("@L2_AMID", r["L2 AMID"]);
cmd.Parameters.AddWithValue("@L2_Account", r["L2 Account"]);
cmd.Parameters.AddWithValue("@A_Id_City_Id", r["A Id-City Id"]);
cmd.Parameters.AddWithValue("@Dta", r["Dta"]);
cmd.Parameters.AddWithValue("@L2_Customer_Segment", r["L2 Customer Segment"]);
cmd.Parameters.AddWithValue("@Siebel_Row_ID", r["Siebel Row ID"]);
cmd.Parameters.AddWithValue("@AM_SubTeam", r["AM SubTeam"]);
cmd.Parameters.AddWithValue("@AM_Manager", r["AM Manager"]);
cmd.Parameters.AddWithValue("@AM", r["AM"]);
cmd.Parameters.AddWithValue("@AM_Email", r["AM Email"]);
cmd.Parameters.AddWithValue("@AM_Effective_Month", r["AM Effective Month"]);
cmd.Parameters.AddWithValue("@BCS_SubTeam", r["BCS SubTeam"]);
cmd.Parameters.AddWithValue("@BCS_Manager", r["BCS Manager"]);
cmd.Parameters.AddWithValue("@BCS", r["BCS"]);
cmd.Parameters.AddWithValue("@BCS_Email", r["BCS Email"]);
cmd.Parameters.AddWithValue("@BCS_Effective_Month", r["BCS Effective Month"]);
cmd.Parameters.AddWithValue("@ESS_SubTeam", r["ESS SubTeam"]);
cmd.Parameters.AddWithValue("@ESS_Manager", r["ESS Manager"]);
cmd.Parameters.AddWithValue("@ESS", r["ESS"]);
cmd.Parameters.AddWithValue("@ESS_Email", r["ESS Email"]);
cmd.Parameters.AddWithValue("@ESS_Effective_Month", r["ESS Effective Month"]);
cmd.Parameters.AddWithValue("@ISR_SubTeam", r["ISR SubTeam"]);
cmd.Parameters.AddWithValue("@ISR_Manager", r["ISR Manager"]);
cmd.Parameters.AddWithValue("@ISR_Manager_Phone", "");// r["ISR Manager Phone"]);
cmd.Parameters.AddWithValue("@ISR", r["ISR"]);
cmd.Parameters.AddWithValue("@ISR_Phone", "");//r["ISR_Phone"]);
cmd.Parameters.AddWithValue("@ISR_Email", r["ISR Email"]);
cmd.Parameters.AddWithValue("@ISR_SRID", r["ISR SRID"]);
cmd.Parameters.AddWithValue("@ISR_Effective_Month", r["ISR Effective Month"]);
cmd.Parameters.AddWithValue("@ISS_SubTeam", r["ISS SubTeam"]);
cmd.Parameters.AddWithValue("@ISS_Manager", r["ISS Manager"]);
cmd.Parameters.AddWithValue("@ISS", r["ISS"]);
cmd.Parameters.AddWithValue("@ISS_Email", r["ISS Email"]);
cmd.Parameters.AddWithValue("@ISS_Effective_Month", r["ISS Effective Month"]);
cmd.Parameters.AddWithValue("@SWD_SubTeam", r["SWD SubTeam"]);
cmd.Parameters.AddWithValue("@SWD_Manager", r["SWD Manager"]);
cmd.Parameters.AddWithValue("@SWD", r["SWD"]);
cmd.Parameters.AddWithValue("@SWD_Email", r["SWD Email"]);
cmd.Parameters.AddWithValue("@SWD_Effective_Month", r["SWD Effective Month"]);
result &= cmd.ExecuteNonQuery() > 0;
}
}
return result;
}