我插入數據從終端數據庫訪問通過WebService的需要很長的時間,將行插入到數據庫 - 數據並行方法
這樣的:
using (Conn = new OleDbConnection(Work_Connect))
{
foreach (DataRow R in ds.Tables["MyCount"].Rows)
{
U_TermNum = TermNum;
U_Id = Id;
U_Bar = R["Bar"].ToString().Trim();
U_Qty = R["Qty"].ToString().Trim();
U_Des = R["Des"].ToString().Trim();
U_UserName = UserName;
U_UserID = UserID;
SQL = "INSERT INTO MyTbl (ID,Bar,Qty,TermNum,Des,UserName,UserID) VALUES (@A,@B,@C,@D,@E,@F,@G)";
using (OleDbCommand Cmd4 = new OleDbCommand(SQL, Conn))
{
Cmd4.Parameters.AddWithValue("@A", Convert.ToInt32(U_Id));
Cmd4.Parameters.AddWithValue("@B", U_Bar);
Cmd4.Parameters.AddWithValue("@C", Convert.ToDouble(U_Qty));
Cmd4.Parameters.AddWithValue("@D", U_TermNum);
Cmd4.Parameters.AddWithValue("@E", U_Des);
Cmd4.Parameters.AddWithValue("@F", U_UserName);
Cmd4.Parameters.AddWithValue("@G", U_UserID);
Cmd4.ExecuteNonQuery();
}
}
我嘗試從20終端的發送
如果我發送1 - >等待10秒發送2 - >等待10秒 - > ..........它工作速度非常快,並且所有的終端在1分鐘後結束髮送
但如果我發送並行在 - >它的工作非常緩慢,所有終端在6分鐘後結束
爲什麼?以及如何改變我的代碼,我可以並行發送並快速結束?
現在我注意到,並非所有的行被插入到數據庫 (當我想要把他們都在 - 一個) 如何處理這個問題?
是否使用異步連接爲您工作?請參閱此示例http://msdn.microsoft.com/en-us/library/ca56w9se.aspx – Amitd
「並行」是指使用並行庫還是同時運行20個獨立客戶端的某個應用程序? –
感謝您的幫助,異步連接將在訪問工作? – Gold