使用docker在Mac OS上的sql server中导入csv会产生权限错误

时间:2018-04-14 20:58:40

标签: sql-server csv docker access macos-high-sierra

我试图通过像这样的本地csv文件填充Bulk insert语句:

BULK INSERT Simpson_Paradox 
FROM '/Users/amreshpandey/SimpsonParadoxCase/SimpsonParadox.csv'
 with (fieldterminator = ',', rowterminator = '\n')

但是我收到以下错误:

  

[02:25:43]开始在第1行Msg 4860,Level 16,State执行查询   1,1号线不能批量装载。文件   “/Users/amreshpandey/SimpsonParadoxCase/SimpsonParadox.csv”没有   存在或您没有文件访问权限。总执行时间:   00:00:00.007

我做错了什么?我是否正确指定文件路径?很多thnx。

操作系统是Mac High Sierra

1 个答案:

答案 0 :(得分:4)

我有同样的问题。这对我有用:

首先,我通过以下方式将文件从本地文件系统复制到docker容器:

docker cp /Users/ainura/Desktop/file.txt sql_container:/

(在这种情况下,sql_container是容器名称)。

然后,我运行批量插入sql查询但仍然遇到rowterminator问题。而不是写' \ n'对于行终止符我尝试了十六进制值并且它工作得很好,看起来这种情况正在发生,因为文件是如何生成的:

BULK INSERT Table_name from '/file.txt' 
with (fieldterminator = ',', rowterminator = '0x0a');

我希望这有帮助!