路径未找到 - 通过VMWare Fusion进行批量插入SQL Server

4

我的电脑是MacBook Pro。然而,我公司的数据存储在SQL Server中。为了访问数据,我需要使用VMWare Fusion在Windows XP上运行SQL Server Management Studio 2008。

当我尝试运行批量导入(按照SQLAuthority.com的说明)时,我遇到了以下错误:

Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "H:\test.CSV" could not be opened. Operating system error code 3(The system cannot find the path specified.).

我正在处理3个不同的文件位置,但它们都无法工作。
  1. 我的Mac存储 - "/Users/Admin/Documents/test.CSV"
  2. 我的Windows XP存储 - 我的 "C:"驱动器。 "C:\test.CSV"
  3. 我公司的网络位置 - 通过Windows XP映射到 "H:" 驱动器。 "H:\test.CSV"
将脚本指向所有这些位置会产生相同的错误消息。
有什么想法可以克服这个问题吗?目前,我唯一的选择是使用SQL Server导入/导出工具,但设置每次导入需要一段时间。脚本更快。
2个回答

14

bulk insert是在服务器上运行的,因此无法访问本地磁盘。

服务器使用“SQL Server”Windows服务所使用的帐户。该帐户通常没有任何映射的驱动器。

尝试使用完整的名称,例如:

\\server\share\test.csv

其他可能的解决方案:

  • 请求DBA在服务器上打开共享以进行导入
  • 请求DBA将CSV文件放置在服务器上的磁盘上
  • 询问DBA用于SQL Server服务的帐户是哪个。 如果它是域帐户,则可以在网络共享上授予该帐户读取权限。

0

我也遇到了这个错误。

在我的情况下,解决方案是将 T-SQL 中的路径从共享更改为实际目录:\\ server\share$\file -> drive:\folder\file

罪魁祸首最终是 VMWare 的问题,导致服务器在使用某些网络共享时出现身份验证问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接