私はこのタスクを実行するためのプログラムを1週間研究し、作成/書き直しています。今まで思いもよらなかったものを生み出すために、これについてのコラボレーションが必要です。具体的には、自動生成されたXMLファイルが毎日最大70kレコード(最大75MBのサイズ)で送信されます。クエリできるように、この情報を含むサーバー(SQL)の1つにテーブルを作成するように依頼されました。また、このプログラムは、既存のレコードを更新し(データが変更されている場合)、新しいレコードを毎日挿入する必要があります。レコードをデータベースから削除してはなりません
これが私が(これまでに)試みた方法とそれらが機能しなかった理由のリストです。
SQLXMLBulkLoad-これはデータのインポートに最適です。ただし、Bulk Loadクラスの制限は、更新や挿入ができないことです。書き直しの時間です。
SQL OpenRowSet(SQLCommandなどを使用)-サーバー、プログラム、およびXMLファイルが3つすべて異なるコンピューター上にあるため、これは機能しません。これらのデバイスは、ファイル(特にサーバー)への相互アクセスを許可するように構成できますが、この方法は「現実的ではなく、オーバーヘッドが大きすぎる」と見なされました。再書き込みの時間。
DataSet Merge、次にTableAdapter.Update-このメソッドは、最初は確実に機能するように見えました。考え方は単純です。DataSet.XMLRead()メソッドを使用してXMLデータをデータセット内のテーブルに配置し、SQLテーブルをデータセットに追加し(SQLCommandなどを使用)、2つのテーブルをマージしてから、Tableを使用します。テーブルを更新/既存のSQLテーブルに挿入するためのアダプタ。XMLファイルには日付を含む2つのノード(列)があるため、この方法は機能しないようです。残念ながら、SQLとXMLの間には統一されたDateデータ型はありません。すべての日付形式をXMLファイルからDateTimeSQL形式に変更しようとしましたが、これは機能しましたが、実行時にデータ型の不一致の例外と見なされました。
この時点で、私はアイデアがありません。これは確かに以前に行われた作業のようです。私は必ずしも私のためにこのコードを書く誰かを探しているわけではありません(私はこれを完全に行うことができます)、私はこのトピックに関するいくつかのコラボレーションが必要です。
ありがとうございました