关于 bulk inset 的问题

hwz_119 2004-11-12 04:24:46
我要将csv文件中的数据导入到表中,该文件的列分隔符是‘,’,行分隔符好像是回车加换行。该文件是从网上导下来的
我是这样用的
BULK INSERT jf170.dbo.[Disease_table]
FROM 'xxxx.csv'
WITH
(
FIRSTROW=2,

FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'

)
这时报错:大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。
如果换成ROWTERMINATOR = '\r\n'
则 :所影响的行数为 0 行)

请问高手为什么????有别的办法吗?

不要贴SQL的帮助!!!!
...全文
177 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2004-11-12
  • 打赏
  • 举报
回复
列定义得太小,这两列改大一点就行了

[BeforeAddress] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,

[Reporter] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,


--测试用的导入语句
bulk insert [Disease_TABLE] from 'c:\xx.csv'
with(
FIRSTROW=2,
FIELDTERMINATOR=',',
ROWTERMINATOR='\n'
)
zjcxc 2004-11-12
  • 打赏
  • 举报
回复
表结构帖出来,有可能的话,把文本文件提供一份下载
hwz_119 2004-11-12
  • 打赏
  • 举报
回复
我现在不知道行分隔符到底是什么??
hwz_119 2004-11-12
  • 打赏
  • 举报
回复
还是不行阿
ROWTERMINATOR = '\r\n'
则 :所影响的行数为 0 行

ROWTERMINATOR = '\n'
这时报错:大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。

zjcxc 2004-11-12
  • 打赏
  • 举报
回复
空格不用删除,你按一下回车,使光标停在下一行的开始处,保存后,再试试导入.
gz1and0 2004-11-12
  • 打赏
  • 举报
回复
我也有类似的问题::共同来讨论一下
现有一个文本文件,内容为:||蔡琳諀||1|||||金融机构业务部||基金|||||||||对私||||0|||||

以上为一行

||陈静瞸||1|||||金融机构业务部||基金|||||||||对私||||0|||||

以上为一行


使用的存储过程中有如下语句:exec ('BULK INSERT T_DKHBATCH FROM ''' + @v_txtfile + ''' WITH ( FIELDTERMINATOR = ''|'' )')
(其中@v_txtfile 为文件名)
问题是:在我的数据库中查询分析器中能执行,而在有的机器上却不能执行,为什么?报的错误为:大容量数据截断错误
有那个仁兄知道,在此先谢了
gz1and0 2004-11-12
  • 打赏
  • 举报
回复
我也有类似的问题::共同来讨论一下
现有一个文本文件,内容为:1,||蔡琳諀||1|||||金融机构业务部||基金|||||||||对私||||0|||||
2,||陈静瞸||1|||||金融机构业务部||基金|||||||||对私||||0|||||
(其中1,和2,是没有的!在这里我只是方便大家好看)
使用的存储过程中有如下语句:exec ('BULK INSERT T_DKHBATCH FROM ''' + @v_txtfile + ''' WITH ( FIELDTERMINATOR = ''|'' )')
(其中@v_txtfile 为文件名)
问题是:在我的数据库中查询分析器中能执行,而在有的机器上却不能执行,为什么?报的错误为:大容量数据截断错误
有那个仁兄知道,在此先谢了
davorsuker39 2004-11-12
  • 打赏
  • 举报
回复
学习!!!
hwz_119 2004-11-12
  • 打赏
  • 举报
回复
是停在最后一条记录的结尾处,不是下一行的开始处

空格删不了,因为数据很多
zjcxc 2004-11-12
  • 打赏
  • 举报
回复
空格的问题我问题,第二条是没有换行的,第一条复制下来发现有换行.

你先按我的方法检查一下文本文件
hwz_119 2004-11-12
  • 打赏
  • 举报
回复
科大学第四医院
,因为有很多空格!!!
zjcxc 2004-11-12
  • 打赏
  • 举报
回复
如果第一条的换行是帖上来出错,实际上没有换行的话

那应该是没错的

楼主试试用记事本打开文本文件,按Ctrl+End,看看光标是否停留在最后一条记录的下一行的开始处

如果不是,而是有多余的空行的话,删除这些空行
zjcxc 2004-11-12
  • 打赏
  • 举报
回复
第一条这个为什么换行了?
,A100
hwz_119 2004-11-12
  • 打赏
  • 举报
回复
文件格式为:
340404,0,00010000,000100000-2004-00132,郑XX,,男,4000652,1928-12-27,'130002280200001',市人民会堂,长安区长安区青园街道办事处宿舍3-201,14010444,本市其它县区,公务人员及职员,2004-10-1,2004-10-25,2004-10-31,金普乐,2004-10-31 00:00,XXXXX,C34.901,,,,2003-11-1 17:28,.,.,9244317,.,科大学第四医院
,A100
以上为一行

343062,0,33010330,330103304-2004-00011,黄xx,,男,0511-3836342,1930-8-29,,市32工厂,桥区建国路南路134号11-乙-131,33013403,本县区,离退休人员,2004-10-26,2004-10-26,2004-10-29,XX森,2004-10-30 00:00,呼X循环衰竭,J96.901,,,,2004-10-30 08:24,.,.,92053367,.,X市康复医院 ,A100

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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