| 2010/12/09(Thu) 19:26:09 編集(投稿者) 2010/12/09(Thu) 19:25:09 編集(投稿者)
ばらばらとすみません。
> マサヤさま BuNoが、例えばBuNo=1のものについて言いますと、1が100個くらいあり、
BuNo=2も100個、BuNo=3も100個・・・となるので、BuNoごとに毎回アクセスのサイズを取得して、
1.5Gを超えているようなら別ファイルを生成しているので恐らく一気には絞り込めないかと思っています。
>shuさま 前件から引続きありがとうございます。
sqlDAMDB.Update(rows2[3])ではなくsqlDAMDB.Update(rows2)でした。
処理開始(BuNoごとのループ)前にSQLサーバのAテーブルの全情報を取得しています。 DataTable dtSQLA = new DataTable(); oleDBCmdSQL = new OleDbCommand("SELECT * FROM A", connSQL); oleDBDASQLA.SelectCommand = oleDBCmdSQL; oleDBDASQLA.Fill(dtSQLA);
BuNo=1の時の処理で必ずテーブルをドロップしてクリエイト(SELECT INTO)しているので、 この時点でAccessMDBのAテーブルの全情報を取得しています。 oleDBCmdMDB = new OleDbCommand("SELECT * FROM A", conn); oleDBDAMDBA.SelectCommand = oleDBCmdMDB; oleDBDAMDBA.Fill(dtMDBA); //DataTable dtMDBA = new DataTable();
BuNo=2以降でSQLサーバから取得したDataTableをBuNoで絞っています。 DataRow[] rows = dtSQLA.Select("bukken_no = " + arrBukkenNo[i]);
絞ったrowsをAccessMDBへインサート(というべきでしょうか?)しています。(しているつもり) nUpdate = dtMDBA.Update(rows);
結果、nUpdate =0 件が返ってきて更新されていません。
デバッグで確認したことは、dtSQLA、dtMDBA、rowsの値が取れていることです。 (dtSQLA、dtMDBAはデータがどこの配列か確認出来なかったので件数で確認。)
何かお心当たりがあればアドバイス頂けると幸いです。 (頻繁に更新して申し訳ありません。)
|