我试图将.txt文件导入高级查询工具(我使用的SQL客户端)。到目前为止,我有:
CREATE TABLE #tb_test
(
id INTEGER,
name varchar(10),
dob date,
city char(20),
state char(20),
zip integer
);
insert into #tb_test
values
(1,'TEST','2015-01-01','TEST','TEST',11111)
;
bulk insert #tb_test
from 'h:\tbdata.txt'
with
(
fieldterminator = '\t',
rowterminator = '\n'
);
我收到一条错误消息,指出第1行有语法错误。我错过了#tb_test来的数据库(如db。#tb_test)?
这里是tbdata.txt文件中的一行:
2,'TEST2','2012-01-01','TEST','TEST',21111
答案 0 :(得分:0)
我很好奇这个问题,我找到了以下解决方案:
您的数据以逗号分隔,但您尝试按TAB拆分
两个选项:将文件数据更改为TAB分隔或将fieldterminator = '\t'
更改为fieldterminator = ','
直接从文件加载时DATE格式存在问题,我最好的解决方案是将临时字段 dob 更改为键入VARCHAR(20),然后在传递到最终显示/数据存储时转换为DATE。
以下是更正后的代码:
CREATE TABLE #tb_test
(
id INTEGER,
name varchar(10),
dob varchar(20),
city char(20),
state char(20),
zip integer
);
insert into #tb_test
values
(1,'TEST','2015-01-01','TEST','TEST',11111)
;
bulk insert #tb_test
from 'h:\tbdata.txt'
with
(
fieldterminator = ',',
rowterminator = '\n'
);