小编Arv*_*wen的帖子

Sqlcmd:无效参数 - 尝试将变量传递给 sqlcmd 时

我正在尝试在 Server 2012R2 上使用 DOS 命令提示符来运行包含以下内容的批处理。我想运行一个 SQL 命令 (sqlcmd) 并将结果返回到命令窗口。

这就是我目前正在尝试的,但 sqlcmd 不断抛出Sqlcmd: 'test': Invalid argument. Enter '-?' for help.20:56:08.

FOR /F "tokens=* USEBACKQ" %%F IN (`sqlcmd -S localhost -E -i "backup.sql" -v dbname="test"`) DO (
    Echo %%F
)
Run Code Online (Sandbox Code Playgroud)

但是,如果我在没有参数/变量的情况下尝试它,它会完美运行!

FOR /F "tokens=* USEBACKQ" %%F IN (`sqlcmd -S localhost -E -i "backup.sql"`) DO (
    Echo %%F
)
Run Code Online (Sandbox Code Playgroud)

有没有人知道使用 sqlcmd、DOS CMD 以及 FOR /F 循环(例如在我的第一个示例中)将变量传递给我的 sql 查询的方法?

scripting sql-server-2016

6
推荐指数
1
解决办法
2661
查看次数

标签 统计

scripting ×1

sql-server-2016 ×1