0

C# を使用してこれを達成し、csv ファイルから Microsoft SQL Server にデータを挿入しようとしています。

ID 列を持たない CSV ファイルがあります。この CSV から ID 列を持つ Microsoft SQL Server のテーブルにデータを挿入したいのですが、ID 列が auto_increment に設定されていませんでした。

これを達成する方法はありますか?SQLを調べましBULK INSERTたが、ID 列を適切に機能させる方法がわかりませんでした。

データベースとテーブルに接続して、現在の最大 ID 番号を確認し、CSV を変更して ID 列でBULK INSERTある新しい CSV を含めることを考えていました。アイデアはうまくいくと思いますが、問題を解決するための他の方法(より便利な方法)があるかどうか疑問に思っていました.

4

1 に答える 1

0

SQL Server ではidentity、自動インクリメントは同じものです (identity自動インクリメントの SQL Server 実装です)。

(参照: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/ef62d0c8-440f-4b27-8641-18ecd45d3f6c/what-is-the-difference-between-auto-increment-and-identity ?forum=transactsql )

また、一括挿入の場合は、SqlBulkCopy(built into System.Data) を使用することを強くお勧めします。これは、その使用方法を概説した良い記事です: https://github.com/geersch/EntityFrameworkBulkCopy

ID 挿入での使用については、こちらを参照してくださいSqlBulkCopy: SqlBulkCopy Insert with Identity Column

(SqlBulkCopyOptions.KeepIdentityコードから ID 値を指定する場合、または ID 列を入力から除外し、通常のオプションを使用して SQL Server に自動インクリメントに基づいて自動的に割り当てる場合に使用します。)

于 2013-11-05T16:22:55.953 に答える