Staging
usingという名前のスキーマのテーブルにデータを挿入する必要がありますSqlBulkCopy
。
DestinationTableName
API では、プロパティを使用してターゲット テーブル名を設定することしかできないようです。
どうすればこれを達成できますか? 出来ますか?
Staging
usingという名前のスキーマのテーブルにデータを挿入する必要がありますSqlBulkCopy
。
DestinationTableName
API では、プロパティを使用してターゲット テーブル名を設定することしかできないようです。
どうすればこれを達成できますか? 出来ますか?
API は宛先スキーマを設定するための明示的なインターフェイスを提供しませんが、実際には次のように、2 部または 3 部の修飾テーブル名をDestinationTableNameプロパティに詰め込むことができます。
b.DestinationTableName = string.Format("[{0}].[{1}]", schemaName, tableName);
また
b.DestinationTableName =
string.Format("[{0}].[{1}].[{2}]", databaseName, schemaName, tableName);
BULK INSERTが常に完全修飾テーブル名をサポートしていることを考えると、これらの個別のコンポーネントが API に組み込まれなかったのは大きな見落としのように思えます。
さらに、DestinationTableName
単にBULK INSERT
ステートメントに出力されるように見えるため、このプロパティは SQL インジェクションに対して脆弱である可能性があります。そのため、ある時点でユーザーからこの情報を取得する場合は、この操作を実行する前に入力をサニタイズしてください。