質問: 私はすでにSQL Serverにいくつかのテーブルを持っており、いくつかのフラットファイルからテーブルを取り込むC#プログラムを作成しています。 `SQLBulkCopy`を使用してテーブルをロードする予定です。 SQLBulkCopyの各DataTableのすべての列を定義する作業はたくさんあります。 C#で既存のSQL Serverテーブルの定義からこれらのDataTableを生成するのは簡単な方法ですか? --- 私はフラットファイルが異なる奇妙なレイアウトにあり、挿入する前にいくつかのC#コードで解析しなければならなかったので、 `Bulk insert`または`bcp`使用することはできません。
回答: ブルートフォースアプローチが必要な場合は、すべてのテーブルで次のように使用できます。 ``` DataTable dt = new DataTable(); using (SqlConnection conn = new SqlConnection("Some SQLConnectionString")) { conn.Open(); using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT TOP 0 * FROM SomeTable", conn)) { adapter.Fill(dt); }; }; ``` `SELECT TOP 0`は、レコードのないテーブル構造体のみを返します。