首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS SQL Server (ubuntu docker) sqlcmd无法运行脚本文件

MS SQL Server (ubuntu docker) sqlcmd无法运行脚本文件
EN

Stack Overflow用户
提问于 2020-01-06 20:11:23
回答 1查看 713关注 0票数 0

我使用以下命令在MS SQL Server上运行脚本文件。

代码语言:javascript
复制
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -d imdb -U sa -P XXX -i data.sql

我得到了一个错误

代码语言:javascript
复制
Sqlcmd: 'data.sql': Invalid filename.

但是我可以用这个来运行它

代码语言:javascript
复制
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -d imdb -U sa -P XXX -Q "the content of data.sql"

有人知道我为什么会得到这个错误吗?非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2020-02-29 00:33:08

我也有同样的问题,但错误是因为sql脚本不在容器中,所以为了执行上面的命令,您可以使用以下命令将sql脚本复制到容器中:

代码语言:javascript
复制
docker cp /your/local/path/data.sql sqlserver:/home/

这会将文件放入home文件夹中的docker实例中。甚至您也可以使用以下命令列出该文件夹中的文件:

代码语言:javascript
复制
docker exec -it sqlserver ls /home

之后,您可以使用以下命令

代码语言:javascript
复制
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -d testdb -U sa -P XXX -i data.sql

在我的例子中,我必须在data.sql脚本的顶部添加以下SQL命令:

代码语言:javascript
复制
USE testdb
GO

这是因为出于某种原因,它没有在testdb中执行命令。

所以我希望它能帮助你

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59611883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档