誰かがこれをスピードアップするのを手伝ってくれますか。dsresult という名前のデータセット (csv ファイルから) があり、それを firebird テーブルに送り込みたいと考えています。現在、一度に 1 行ずつ実行していますが、これを 500 行のバッチで実行することをお勧めします。firebird.net プロバイダーを使用しています
string connectionString = "ServerType=1;User=SYSDBA;Password=masterkey;Dialect=3;Database=MYDB.FDB";
string sql = "INSERT INTO POSTIN (NUMID, CHANGE, PLACENAME, BOXCODE, STRCODE, TOWN) VALUES (@NUMID, @CHANGE, @PLACENAME, @BOXCODE, @STRCODE, @TOWN)";
FbConnection conn = new FbConnection(connectionString)
FbCommand command = new FbCommand(sql, conn);
foreach (DataRow r in dsResult.Tables[0].Rows)
{
command.Parameters.AddWithValue("@NUMID", r["NUMID"]);
command.Parameters.AddWithValue("@CHANGE", r["CHANGE"]);
command.Parameters.AddWithValue("@PLACENAME", r["PLACENAME"]);
command.Parameters.AddWithValue("@BOXCODE", r["BOXCODE"]);
command.Parameters.AddWithValue("@STRCODE", r["STRCODE"]);
command.Parameters.AddWithValue("@TOWN", r["TOWN"]);
command.ExecuteNonQuery();
}
実行するには aaaaaaaaaaages かかります。デルファイでは、キャッシュされた更新を使用しただけです。一度に 500 レコードを投稿し、500 番目にコミットする
ありがとう