Sql批量插入 - 文件不存在

Nat*_*Pet 6 sql

我有以下查询插入表中

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

它得到了消息

消息4860,级别16,状态1,行1
无法批量加载.文件"c:\ Type.txt"不存在.

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

Ezi*_*nze 25

看看: 无法批量加载.文件"c:\ data.txt"不存在

那个文件在SQL Server的C:\驱动器上吗?

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

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


Jay*_*yan 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 
>     (
Run Code Online (Sandbox Code Playgroud)

关于data_file参数的注释说

'data_file'

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

data_file必须指定运行SQL Server的服务器的有效路径.如果data_file是远程文件,请指定通用命名约定(UNC)名称.UNC名称的格式为\ Systemname\ShareName\Path\FileName.例如,\ SystemX\DiskZ\Sales\update.txt.

  • 这是一个很好的答案,因为它包括您可以使用网络路径的事实.它不一定需要是SQL Server的本地计算机. (4认同)