关于mssql2005 Bulk insert 处理问题的请教

有位帅哥 2016-09-08 10:51:22
关于mssql2005 Bulk insert 处理问题的请教
在mssql2005查询分析器,
执行通过Bulk insert将txt文件批量导入表tmp_test处理脚本,
想从第2条记录导入数据,但实际导入的是第3条以后的记录,
问题:
(1)中文内容为二进制
(2)rowterminator = '\r\n' 则1条记录都不能导入,只能设置rowterminator = '\n' , 但每行的结束符为0D0A
(3)第2条记录插入时丢失
烦请各位大神指点!

附1:[ test.txt 内容 ]
Version=3.0|RecordCount=1
00000001|宇宙公司1|1000
00000002|宇宙公司2|2000
00000003|宇宙公司3|3000

附2:[ bulk insert 处理脚本 ]
if exists( select 1 from sysobjects where type = 'U' and name = 'tmp_test' )
drop table tmp_test
go

create table tmp_test
(
hm varchar(8),
gsmc varchar(120),
gshm varchar(6)
)

bulk insert tmp_test
from 'd:\test.txt'
with ( fieldterminator = '|',
rowterminator = '\n' ,
--rowterminator = '\r\n' ,
firstrow = 2
)
go

select * from tmp_test
go

结果集:
hm gsmc gshm
00000002 瀹囧畽鍏徃2 2000
00000003 瀹囧畽鍏徃3 3000
...全文
595 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
有位帅哥 2016-09-11
  • 打赏
  • 举报
回复
以下这2种方法试过,没有解决问题: ALTER DATABASE [DBNAME] COLLATE Chinese_PRC_CI_AS DATAFILETYPE ='widechar'
Net攻城狮 2016-09-10
  • 打赏
  • 举报
回复
字符编码问题,你把txt改个编码另存 再执行
中国风 2016-09-10
  • 打赏
  • 举报
回复
打开文件显示是否正常 默认排序时,数据库是否显示简体中文排序 ALTER DATABASE [DBNAME] COLLATE Chinese_PRC_CI_AS 不改排序时可尝试加上再试试 DATAFILETYPE ='widechar'
Ginnnnnnnn 2016-09-10
  • 打赏
  • 举报
回复
我认为是你的第一行的格式不满足导致你的数据有问题,你在第一行里面加上一个| 就可以导入3条

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧