我正在尝试将存储过程设置为 SQL Server 代理作业,但出现以下错误,
无法批量加载,因为无法打开文件“P:\file.csv”。操作系统错误代码 3(无法检索此错误的文本。原因:15105)。 [SQLSTATE 42000](错误4861)
有趣的是,当我手动执行存储过程时,它工作得很好。
驱动器 P: 是通过 Samba Share 从 LINUX 在 Windows SQL Server 上的共享驱动器,它是通过执行以下命令来设置的,
EXEC xp_cmdshell 'net use P: "\lnxusanfsd01\Data"密码/user:用户名/Persistent:Yes'
对此的任何帮助将不胜感激
最佳答案
不知道你是否解决了这个问题,但我也遇到了同样的问题。如果实例是本地实例,则必须检查访问该文件的权限,但如果从计算机访问服务器(远程访问),则必须指定服务器中的路径,这意味着将该文件包含在服务器中目录,解决了我的问题。
示例:
BULK INSERT Table
FROM 'C:\bulk\usuarios_prueba.csv' -- This is server path not local
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
);
关于sql-server - 无法批量加载,因为无法打开文件。操作系统错误代码 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19491812/