質問: `SqlBulkCopy`を使用して`Staging`という名前のスキーマのテーブルにデータを挿入する必要があります。 APIでは、 `DestinationTableName`プロパティを使用してターゲットテーブル名を設定することしかできないようです。 これをどのように達成するのですか?出来ますか?
回答: APIは宛先スキーマを設定するための明示的なインタフェースを提供しませんが、実際には2部または3部の修飾テーブル名をDestinationTableName.aspx)プロパティに次のように埋め込むことができます。 ``` 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インジェクションに対して脆弱である可能性があります。したがって、ある時点でこの情報をユーザーから取得している場合は、この操作を実行する前に入力をサニタイズするようにしてください。