询问者
Bulk Insert命令如何跳过不规则行?

问题
-
Bulk Insert命令如何跳过不规则行?
因为有这些“---”,所以导入数据库时总是提示最后一个字段内容过长,无法导入。能不能跳过这些“---”test.txt内容:
-------------------------------------------------------------------------------------------- AAAAAAA;;02;;2012-07-19;;132;;20 BBBBBB;;02;;2012-01-11;;139;;200 CCCCCC;;02;;2012-03-17;;139;;200 -------------------------------------------------------------------------------------------- DDDDDD;;02;;2012-05-01;;132;;20 EEEEEE;;02;;2012-05-12;;139;;200 FFFFFF;;01;;2012-07-13;;127;;0 DDDDDD;;02;;2012-05-01;;132;;200 EEEEEE;;02;;2012-05-12;;139;;20 -------------------------------------------------------------------------------------------- GGGGGG;;02;;2012-08-02;;139;;20 DDDDDD;;02;;2012-05-01;;132;;200 EEEEEE;;02;;2012-05-12;;139;;20 DDDDDD;;02;;2012-05-01;;132;;200 EEEEEE;;02;;2012-05-12;;139;;200 已选择12134300行。
private void button1_Click(object sender, EventArgs e) { using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction)) { DateTime dt = DateTime.Now; SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "bulk insert asking_wf_cl from 'test.txt' with(FIELDTERMINATOR=';;',ROWTERMINATOR='\r\n',FIRSTROW=3,TABLOCK)"; conn.Open(); try { cmd.ExecuteNonQuery(); label1.Text = "导入成功! 开始时间:" + dt + " 完成时间:" + DateTime.Now; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }
全部回复
-
我现在导不进去SQL SERVER。老是出错。
fmt是怎么创建的?我直接复制过来改的好像不行啊!
10.0 6 1 SQLCHAR 0 200 ";;" 1 tm1 SQL_Latin1_General_Cp437_CI_AS_KI_WI 2 SQLCHAR 0 200 ";;" 2 tm2 SQL_Latin1_General_Cp437_CI_AS_KI_WI 3 SQLCHAR 0 200 ";;" 3 tm3 SQL_Latin1_General_Cp437_CI_AS_KI_WI 4 SQLCHAR 0 200 ";;" 4 tm4 SQL_Latin1_General_Cp437_CI_AS_KI_WI 5 SQLCHAR 0 200 ";;" 5 tm5 SQL_Latin1_General_Cp437_CI_AS_KI_WI 6 SQLCHAR 0 1000 "\r\n" 6 tm6 SQL_Latin1_General_Cp437_CI_AS_KI_WI