求助:txt文本导入sql server
解决马上结贴
表结构:
create table tmp
(
a char not null ,
b integer,
c char(14)
)
文本格式:
10527272|3960|20050701000058|
10527298|6000|20050701000421|
10527302|6000|20050701001340|
字段间用“|”分隔,记录间用回车分隔
问题点数:100、回复次数:6Top
1 楼phantomMan()回复于 2005-07-26 14:15:31 得分 20
BULK INSERT datebasename..tablename FROM 'c:\ddd.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
Top
2 楼phantomMan()回复于 2005-07-26 14:17:19 得分 20
10527272|3960|20050701000058|
这是一条记录吗? 结尾还有 '|' ????Top
3 楼phantomMan()回复于 2005-07-26 14:22:27 得分 20
create table tablet(
A nvarchar(100),
B nvarchar(100),
C nvarchar(100)
)
BULK INSERT ColinTest..tablet FROM 'c:\ddd.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n'
)
select * from tablet
------------------------------------------------------------------------
A B C
---------- ------ ---------------
10527272 3960 20050701000058|
10527298 6000 20050701000421|
10527302 6000 20050701001340|
10527272 3960 20050701000058|
10527298 6000 20050701000421|
10527302 6000 20050701001340|
(所影响的行数为 6 行)
--------------------------------产生六行数据是因为你最后有 '|' 造成的
Top
4 楼neuafei(阿飞)回复于 2005-07-26 14:25:05 得分 20
选择目的表,右键菜单有:导入数据,数据源选择文本文件,找到文本文件,下一步,选择带分隔符,文本限定符输入“|”,下一步,完成即可,注意,因为你的文本文件最后多一个|,所以,建库请最后增加一个字段,允许为空,导入后再删除该字段即可。Top
5 楼phantomMan()回复于 2005-07-26 14:27:48 得分 20
如果后面有'|',改为下面得就可以得到3行
BULK INSERT ColinTest..tablet FROM 'c:\ddd.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = '|',
ROWTERMINATOR = '|\n'
)
Top
6 楼mib3000(-_-!!!)回复于 2005-07-26 19:18:54 得分 0
thx 结贴Top




