use*_*260 35 sql-server samba sql-server-agent stored-procedures bulk-load
我正在尝试将存储过程设置为SQL Server代理作业,并且它给出了以下错误,
无法批量加载,因为无法打开文件"P:\ file.csv".操作系统错误代码3(无法检索此错误的文本.原因:15105).[SQLSTATE 42000](错误4861)
有趣的是,当我手动执行时,存储过程工作得很好.
驱动器P:是Windows SQL Server上从LINUX通过Samba共享的共享驱动器,它是通过执行以下命令设置的,
EXEC xp_cmdshell'净使用P:"\ lnxusanfsd01\Data"密码/用户:用户名/持久性:是'
任何有关这方面的帮助将受到高度赞赏
DuS*_*ant 48
我不知道你是否解决了这个问题,但我有同样的问题,如果实例是本地的,你必须检查访问该文件的权限,但如果你从计算机访问服务器(远程访问),你必须指定服务器中的路径,这意味着将文件包含在服务器目录中,这解决了我的情况
例:
BULK INSERT Table
FROM 'C:\bulk\usuarios_prueba.csv' -- This is server path not local
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
);
Run Code Online (Sandbox Code Playgroud)
小智 6
为简单起见,我只是更改了将数据导入到服务器上的本地文件夹的目录。
我的文件位于共享文件夹中,我只是将文件复制到服务器上的“ c:\ TEMP \ Reports”(将查询从新文件夹更新为BULK INSERT)。代理任务成功完成:)
终于,经过很长一段时间,我能够通过座席工作自动批量插入。
最好的祝福。
我已经解决了这个问题,
登录到安装了 SQL Server 的服务器计算机,在服务器计算机上获取 csv 文件并执行查询,它将插入记录。
如果您将提供数据类型兼容性问题,请更改该列的数据类型
这可能是权限问题,但您需要确保尝试以下步骤进行故障排除:
sa添加net use和命令net use /delete请记住撤消任何更改(尤其是作为 运行sa)。如果其他方法都不起作用,您可以尝试将批量加载更改为计划任务,在数据库服务器或其他安装了 bcp 的服务器上运行。
| 归档时间: |
|
| 查看次数: |
141137 次 |
| 最近记录: |