我正在尝试将数据从 csv 文件导入 SQL Server。csv 文件中有数千个条目,其中有很多行数据不正确。
CSV 文件中的一些行是:
`"ID"|"EmpID"|"FName"|"LName"|"Gender"|"DateOfBirth"
"1"|"90043041961"|"ABCD"|"TEST"|"F"|"1848-05-05 00:00:00.000"
"1"|"10010161961"|"XYZ"|"TEST"|"F"|"1888-12-12 00:00:00.000"
.
.
..
..
....
"4"|"75101141821PPKKLL"|"LLKK"|"F"|"1925-09-09 00:00:00.000"|""
"4"|"32041401961UUYYTT"|"PPLL"|"M"|"1920-01-01 00:00:00.000"|""
.
.....
"25"|"00468132034"|"FGTT"|"OOOO"|"F"|"1922-11-11 00:00:00.000"
"25"|"00468132034"|"KKKK"|"PPPP"|"F"|"1922-11-11 00:00:00.000"
创建 TestTable 并尝试将数据(来自 csv 文件)插入其中:
create table TestTable
(
ID varchar(5),
EmpID varchar(25),
FName varchar(25),
LName varchar(25),
Gender varchar(5),
DateOfirthB varchar(30)
);
我正在使用以下脚本将数据从 csv 文件导入到TestTable
SQL Server 中:
bulk insert TestTable
from 'C:\TestData.csv'
with
(firstrow = 2,
DATAFILETYPE='char',
FIELDTERMINATOR= '"|"',
ROWTERMINATOR = '\n',
ERRORFILE ='C:\ImportErrors.csv',
MAXERRORS = 0,
TABLOCK
);
错误:
消息 4863,级别 16,状态 1,第 1
行第 32763 行第 5 列(性别)的批量加载数据转换错误(截断)。消息 4863,级别 16,状态 1,第 1
行第 32764 行第 5 列(性别)的批量加载数据转换错误(截断)。
有没有办法忽略由于某种或其他原因而无法添加的行(在 csv 文件中)并插入具有正确语法的行?
谢谢
PS:我不能使用SSIS。只允许使用 SQL