如何解决SQL Server 批量插入 - Linux/RHEL 错误
我正在对驻留在 Linux/RHEL 虚拟机中的 SQL Server 2019 执行批量插入查询(通过存储过程)。执行后,我收到此错误:
消息 4860,级别 16,状态 1,过程 dbo.Import_Store,第 25 行 [批量起始行 14]
无法批量加载。文件“/home/user1/FileStorage/Store1.csv”确实 不存在或您没有文件访问权限。
此错误消息不正确 - 即该文件物理存在于 VM 上的指定路径并具有正确的权限(每个人都获得了完全权限!)。
任何见解都受到高度赞赏。谢谢。
BULK INSERT dbo.Store
FROM '/home/user1/FileStorage/Store1.csv'
WITH
(
FORMAT = 'CSV',FIRSTROW = 2,FIELDTERMINATOR = ',',ROWTERMINATOR = '\n'
);
仅供参考 - 我尝试了很多选项,例如使用 C:\ 或 C:/ 而不是 /home,但到目前为止没有任何效果。
解决方法
感谢 Larnu 在上面发表评论。这让我做了一些解决我问题的事情。以下是我为同一条船上的任何人解决此问题的方法。
我基本上在 Linux VM 的根目录下创建了一个全新的共享文件夹。然后创建一个新的用户组并授予它对共享文件夹的完全访问权限。然后我将用户“mssql”添加到组中。现在我的 SQL Server 可以毫无错误地访问该位置了!
sudo mkdir -p /SharedFolder
sudo groupadd SharedUsers
sudo chgrp -R SharedUsers /SharedFolder
sudo chmod -R 2775 /SharedFolder
sudo usermod -a -G SharedUsers mssql
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。