Sql批量插入 - 文件不存在

时间:2012-04-04 18:05:14

标签: sql

我有以下查询要插入表

    BULK
     INSERT tblMain
     FROM 'c:\Type.txt'
     WITH
     (
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '\n'
     )
    GO

收到消息

  

Msg 4860,Level 16,State 1,Line 1
  无法批量加载。文件" c:\ Type.txt"不存在。

文件显然在那里。我可能会忽视什么?

3 个答案:

答案 0 :(得分:25)

看那个: Cannot bulk load. The file "c:\data.txt" does not exist

该文件是否在SQL Server的C:\驱动器上?

SQL BULK INSERT等始终只适用于SQL Server计算机上的本地驱动器。您的SQL Server无法访问您自己的本地驱动器。

您需要将文件放到SQL Server的C:\驱动器上,然后重试。

答案 1 :(得分:12)

此处描述了批量导入实用程序语法

http://msdn.microsoft.com/en-us/library/ms188365.aspx

> BULK INSERT     [ database_name . [ schema_name ] . | schema_name . ]
> [ table_name | view_name ] 
>       FROM 'data_file' 
>      [ WITH 
>     (

关于data_file参数的说明

'data_file'

  

包含要导入的数据的数据文件的完整路径   指定的表或视图。 BULK INSERT可以从磁盘导入数据   (包括网络,软盘,硬盘等)。

     

data_file必须指定来自SQL服务器的有效路径   服务器正在运行。 如果data_file是远程文件,请指定   通用命名约定(UNC)名称。 UNC名称具有表单   \ SYSTEMNAME \共享\路径\文件名。例如,   \ SystemX \ DiskZ \ SALES \ UPDATE.TXT。

答案 2 :(得分:0)

我以前遇到过这个问题。除了检查文件路径之外,您还要确保引用正确的文件名和文件类型。确保这确实是一个文本文件,你已经保存在源位置而不是word文件等。我被.doc和.docx绊倒了。这是我的一个新错误,但嘿,它可能发生。更改了文件类型,它修复了问题。