【问题标题】:Bulk Insert in SQL Server 2005?SQL Server 2005 中的批量插入?
【发布时间】:2012-02-14 07:14:32
【问题描述】:

这是我的批量插入 SQL 查询

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

导致如下错误

sql 无法批量加载,因为文件“C:\name\userTable.txt” 不能打开。操作系统错误代码 3(系统无法 找到指定的路径。)

【问题讨论】:

  • 由于错误信息,请检查您的文件路径和文件名。
  • 该 SQL Server 实例是否在您的本地计算机上?如果不是:该文件是否在该远程服务器的 C:\ 驱动器上?您无法从远程 SQL Server 计算机访问本地计算机的 C:\ 驱动器并获取文件.....
  • -1。因为错误消息是明显的(找不到文件)并且您没有做任何事情来解释它。

标签: sql sql-server-2005 bulkinsert


【解决方案1】:

你的设置是什么?两种可能:

  • 服务器对该文件夹没有权限。服务器将带有自己的凭据,而不是您的凭据。
  • 服务器在另一台机器上。

批量插入不是网络传输,它是对服务器的命令以加载文件,然后使用服务器进程运行的凭据从服务器计算机上的服务器进程执行。

那么,服务器能否与服务器用户一起,在服务器上读取这部分并找到该文件?

显而易见的答案:不。请检查并花 10 多秒时间思考问题 - 错误消息层次非常具体。

【讨论】:

    【解决方案2】:

    您的文件名不同(代码:userTable.txt,错误:newUser.txt)。你也确定吗?文件存在且可读?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 2021-06-05
      • 2014-01-21
      • 1970-01-01
      相关资源
      最近更新 更多