6

SqlBulkCopy は、SELECT INTO のようなテーブルを作成できますか?

4

2 に答える 2

0

上記の答えはあまり明確ではなかったと思います。

SQL でテーブルを作成する必要があります。他に方法はありません。また、列構造を作成するだけでよい場合、ソースが同じサーバーにある場合は非常に簡単です。これを行うだけで十分です。

Select * from source_table into destination_table where 1=2

ソースが同じサーバーにない場合 (たとえば、Excel や dbf ファイルなど)、ODBC (または可能であれば SQL) を使用してソースに接続し、送信するのが最も簡単な方法です。

    Select * from source_table where 1=2

結果を DataTable に収集します。次に、2番目のステップで、そのテーブルを引数として受け取り、それを新しいテーブルに挿入するストアドプロシージャを宛先サーバーに作成する必要があります。

もう少し正確には、SQL プロシージャでこれを試してください。 ,00.htm

そして、C# で SqlCommnand オブジェクトを作成し、その Parameters コレクションに SqlDbType.Structured である SqlParameter を追加します。

細かいところまでは書きませんが、参考になれば幸いです。

于 2011-01-14T18:00:22.803 に答える
0

SqlBulkCopy だけではテーブルを作成できないようです。宛先テーブルは事前定義する必要があります。宛先が自動インクリメンタル ID (int) を取得している場合は、select ステートメントで 1 を使用するだけです。

SELECT 
    1, 
    [ColumnName],
    [ColumnName]...
FROM TABLENAME

SQL Server は自動インクリメントを単独で処理します。

于 2010-10-25T08:51:37.283 に答える