我使用以下命令在MS SQL Server上运行脚本文件。
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -d imdb -U sa -P XXX -i data.sql我得到了一个错误
Sqlcmd: 'data.sql': Invalid filename.但是我可以用这个来运行它
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -d imdb -U sa -P XXX -Q "the content of data.sql"有人知道我为什么会得到这个错误吗?非常感谢。
发布于 2020-02-29 00:33:08
我也有同样的问题,但错误是因为sql脚本不在容器中,所以为了执行上面的命令,您可以使用以下命令将sql脚本复制到容器中:
docker cp /your/local/path/data.sql sqlserver:/home/这会将文件放入home文件夹中的docker实例中。甚至您也可以使用以下命令列出该文件夹中的文件:
docker exec -it sqlserver ls /home之后,您可以使用以下命令
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -d testdb -U sa -P XXX -i data.sql在我的例子中,我必须在data.sql脚本的顶部添加以下SQL命令:
USE testdb
GO这是因为出于某种原因,它没有在testdb中执行命令。
所以我希望它能帮助你
https://stackoverflow.com/questions/59611883
复制相似问题