批量插入返回错误,"the file could not be opened"



我在SQL Server 11.0中运行以下查询。

BULK INSERT [dbo].[Andy] FROM "Y:usersjoeAPP data main file.csv"
WITH (FIRSTROW = 2, FIELDTERMINATOR = ',' ,
ROWTERMINATOR = 'n', TABLOCK)

该命令返回错误,

无法批量加载,因为文件"Y:\用户\joe\APP数据主 无法打开文件.csv"。操作系统错误代码 3( 系统找不到指定的路径。

通过在线研究,此错误的原因是大容量插入任务通过从目标 SQL 服务器执行大容量插入命令来加载文件来运行。这意味着目标 SQL 服务器的 SQL Server 代理应该对我尝试加载的文件具有权限。我怎样才能知道它是否如此?

其次,根据Microsoft的网站,"...如果 SQL Server 用户使用 Windows 身份验证登录,则无论 SQL Server 进程的安全配置文件如何,该用户只能读取用户帐户可以访问的那些文件。

我使用 Windows 身份验证登录到 SQL Server。根据MS网站上的定义,我可以访问我尝试从中插入的文件。我创建了它,我可以打开它。更具体地说,我登录的Windows帐户(我自己的(是创建csv文件的帐户,也是我打开SQL Server的帐户。然而,错误是存在的。我缺少一些东西,但我不知道它是什么。

最后,我是否使用 UNC 路径或驱动器映射访问文件并不重要。

看起来文件位于网络服务器上,您引用的是映射的驱动器名称,请尝试改用 UNC 网络路径。

我收到了一封来自 IT 部门的电子邮件,内容涉及此问题:

我认为问题是您被分配到服务器角色是基于 已分配到的用户策略组 - 这将 与特定的服务器角色相对应 - 通过网络 管理员和此服务器角色无权访问该文件 无论出于何种原因。您可能有权访问服务器路径 您自己,因为您当前被分配到的另一个组 但是,如果该组与服务器角色不对应,则服务器 角色将无权访问。

所以我们有了它。从那以后,由于操作原因,我无论如何都无法批量上传,所以我不会再追究这个问题了。

谢谢大家的帮助。

相关内容

最新更新