質問: ExcelDataReaderを使用してExcelheetからDatatableに3,000行をインポートしています。 SqlBulkCopy.Writetoserver()を使用してこれらの行をデータベースに挿入する前に、これらの行をどのように検証できますか? **質問:** **1.**私のデータテーブルとSQL ServerテーブルのTableSchemeを比較する方法。 **2.**挿入前にFK制約とPK複製を検証できますか? **3.**もし私が同じテーブルにFKでSponsorID Columnでこのようなテーブルを持っていたら **ID - 名前 - 年齢 - 関係 - 列4 - スポンサーID** 100 - Adam Michale - 32 - 自身 - 1/1/2015 - 100 101 - Anna Mike - 29 - wife - 1/1/2015 - 100 102 - サラアダム - 6 - 娘 - 1/1/2015 - 100 とにかくSqlBulkCopyを使ってそのような挿入を行うことはありますか? **前もって感謝します。** そして、もしあれば、このような挿入のための他のアプローチについて聞いて嬉しく思っています。
回答: 1. Excelファイルを照会し、SQL言語を使用して比較することができます。以下の例を参照してください。 SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0'、 'Excel 8.0;データベース= C:\ excel-sql-server.xls'、[Sheet1 $]) このリンクの分散クエリに関するその他のオプションを検索します。 2. すでにSQLデータにあるデータをクエリし、それをExcelと比較して、PK /エントリの重複を検証することができます。 3. Excel IDに列ID OldIDを作成することができます。その後、OldID参照を使用してスポンサーIDを新しいIDで更新します。