日期:2014-05-18  浏览次数:20732 次

救急!!Bulk Insert错误:未能进行大容量插入
各位前辈:救急!!

  我在sql server 2000 查询分析器中执行以下语句:

  BULK Insert report.dbo.SMFX20100104
  From 'D:\flow\SM-20091221.csv'  
  WITH (  
  FIELDTERMINATOR = ',',  
  ROWTERMINATOR = '\n'  
  )  

  出错提示:

  服务器: 消息 4861,级别 16,状态 1,行 1
  未能进行大容量插入,因为未能打开文件 'D:\flow\SM-20091221.csv' 。操作系统错误代码 3(系统找不到指定的路径。)。

  report 是服务器上的数据库,我从一客户端的查询分析器上往report导数据。
   
  麻烦解答,不胜感激!!!
   


------解决方案--------------------
'D:\flow\SM-20091221.csv' 
-------------
这个文件不存在?和数据库不在同一机器上。。
------解决方案--------------------
路径不对?
------解决方案--------------------
在前面的基础上
考虑下文件格式是否正确
------解决方案--------------------
csv格式的文件,这个是怎么产生的呢?
------解决方案--------------------
文件的路径正确么?
------解决方案--------------------
操作系统错误代码 3(系统找不到指定的路径。)。 


要么没有,要么路径错误
------解决方案--------------------
两个解决方法:
1.把CSV文件放到服务器上去执行。
2.在CSV文件文件名前加上网络路径,并保证有可读取权限。
------解决方案--------------------
正好碰到这个问题,肯定是路径的问题
D:\flow\SM-20091221.csv 这个路径在服务器上是否存在?

这个不知道是不是bulk insert 的限制,如果csv文件在其它机器上怎么办?
------解决方案--------------------
'D:\flow\SM-20091221.csv'
服务器的路径

------解决方案--------------------
你从客户端往服务端导入,所识别的路径是服务端所在机器的,所以没有获取正确路径
------解决方案--------------------
以前我也发是这种办法到数据,才发现还有人步我后尘,原来不是我一个人笨啊!!呵呵!