【发布时间】:2018-10-03 08:49:09
【问题描述】:
我有需要插入 sql-server 的 C# WinForm 程序。
文件是文本(制表符分隔)。
有时它包含(3 列):
BAR DES MAK
111 aaa 222
333 bbb 333
.
.
有时它包含(5 列):
BAR DES MAK PRI MLA
111 aaa 222 1.1 2.2
333 bbb 333 3.3 4.4
.
.
sql-server 表是 CatTbl:
BAR nvarchar(250)
DES nvarchar(250)
MAK nvarchar(250)
PRI nvarchar(250)
MLA nvarchar(250)
我尝试这样插入:
SQL = @"BULK INSERT CatTbl FROM 'd:\TEST\TEST.txt' WITH (CODEPAGE=1255,FIELDTERMINATOR = '\t')";
Cmd = new SqlCommand(SQL, Conn);
Cmd.ExecuteNonQuery();
Cmd.Dispose();
如果有 5 列效果很好但是如果有 3 列它会崩溃
我搜索并没有找到解决方案。有人有想法吗?
【问题讨论】:
-
重复 msdn post。将同一个问题单独发布到多个论坛只是浪费精力和业力。
-
一个可能没用的旁注:请记住,BulkInsert 会强制取消选中您的 ForeignKeys(如果有的话)。
标签: c# sql-server bulkinsert