Sql server 使用docker在Mac os上的sql server中导入csv时出现权限错误
我正试图通过批量插入语句从本地csv文件中填写,如下所示:Sql server 使用docker在Mac os上的sql server中导入csv时出现权限错误,sql-server,docker,csv,macos-high-sierra,Sql Server,Docker,Csv,Macos High Sierra,我正试图通过批量插入语句从本地csv文件中填写,如下所示: BULK INSERT Simpson_Paradox FROM '/Users/amreshpandey/SimpsonParadoxCase/SimpsonParadox.csv' with (fieldterminator = ',', rowterminator = '\n') 但我得到了以下错误: [02:25:43]开始在Msg 4860的第1行执行查询,第16级,状态 1,第1行不能批量加载。档案 “/Users/a
BULK INSERT Simpson_Paradox
FROM '/Users/amreshpandey/SimpsonParadoxCase/SimpsonParadox.csv'
with (fieldterminator = ',', rowterminator = '\n')
但我得到了以下错误:
[02:25:43]开始在Msg 4860的第1行执行查询,第16级,状态
1,第1行不能批量加载。档案
“/Users/amreshpandey/SimpsonParadoxCase/SimpsonParadox.csv”没有
存在或您没有文件访问权限。总执行时间:
00:00:00.007
我做错了什么?我是否错误地指定了文件的路径?许多thnx
操作系统是Mac High Sierra我也有同样的问题。这对我很有用: 首先,我通过以下方式将文件从本地文件系统复制到docker容器的文件系统:
docker cp /Users/ainura/Desktop/file.txt sql_container:/
(在本例中,sql_容器是容器名称)
然后,我运行了批量插入sql查询,但仍然存在行终止符问题。我没有为行终止符写入“\n”,而是尝试了十六进制值,效果很好,似乎是因为文件是如何生成的:
BULK INSERT Table_name from '/file.txt'
with (fieldterminator = ',', rowterminator = '0x0a');
我希望这有帮助 对!!此文件需要存在于docker容器中。我首先将文件复制到容器中,然后运行查询,结果成功了。谢谢@AinurAin