我需要从csv
文件将数据批量插入到SQL
中。在SQL我使用命令:使用C#从CSV批量插入到SQL表中
bulk insert InputTestData
from 'D:\Project\UnitTestProjct\RGTestingToolTestProject\NUnitTestProject\RGTestToolDB\InputTestData.csv'
with
( CODEPAGE ='RAW',
rowterminator='\n',
fieldterminator = '\t'
)
上述命令是否工作,并使用SQL查询分析器时插入数据,但是,投从C#
使用的代码下面给出执行时的错误:
StringBuilder builder = new StringBuilder();
builder.Append("bulk insert " + objectName + " from ");
builder.Append("'" + ResourceFilePath + Path.DirectorySeparatorChar + objectPath + "'");
builder.Append(" with");
builder.Append(" (");
builder.Append(" rowterminator='\n',");
builder.Append(" fieldterminator = '\t'");
builder.Append(")");
SqlHelper.ExecuteNonQuery(transaction, CommandType.Text, builder.ToString());
它引发错误:
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 8 (IsBaselineTest).
由C#代码生成查询也在SQL
查询分析器工作罚款:
bulk insert InputTestData from 'D:\Project\UnitTestProjct\RGTestingToolTestProject\NUnitTestProject\\RGTestToolDB\InputTestData.csv' with (rowterminator='
', fieldterminator = ' ',CODEPAGE ='RAW')
请让我知道如果你需要CSV
和SQL
表结构
请上述帮助的。
由于提前
您是否测试过查询分析器中由您的'StringBuilder'生成的查询? – 2014-10-09 13:44:20
是的,它的工作,我已经更新查询也在问题块 – 2014-10-09 13:45:39
你在C#中建立的字符串缺少参数'CODEPAGE'。如果你把它加回来做什么改变? – Paolo 2014-10-09 13:45:40