gpt4 book ai didi

powershell - 如何从Powershell执行sqlcmd?

转载 作者:行者123 更新时间:2023-12-03 12:03:13 27 4
gpt4 key购买 nike

我在powershell中有一个字符串,其中包含一个本地sqlcmd命令。该命令本身可以在cmd.exe中成功执行。我很难在Powershell中执行它们。有人可以帮忙吗?谢谢。

这是sql.sql

select @@servername
go
select @@servicename

这是我从cmd.exe执行sqlcmd命令时的结果
C:\Users\test>sqlcmd -S "(local)\instance1" -U a -P a -i "c:\temp\sql.sql"

--------------------------------------------------
thesimpsons\INSTANCE1

(1 rows affected)

--------------------------------------------------
INSTANCE1

(1 rows affected)

C:\Users\test>

这是调用sqlcmd命令的powershell脚本。
$sql = @"
sqlcmd -S "(local)\instance1" -U a -P a -i "c:\temp\sql.sql"
"@

Invoke-Command $sql

当我执行此powershell脚本时,出现以下错误。
PS C:\TEMP> $sql = @"
sqlcmd -S "(local)\instance1" -U a -P a -i "c:\temp\sql.sql"
"@

Invoke-Command $sql
Invoke-Command : Parameter set cannot be resolved using the specified named parame
ters.
At line:5 char:15
+ Invoke-Command <<<< $sql
+ CategoryInfo : InvalidArgument: (:) [Invoke-Command], ParameterBin
dingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands
.InvokeCommandCommand

最佳答案

要调用Win32可执行文件,您需要使用调用运算符&,如下所示:

& sqlcmd -S "(local)\instance1" -U a -P a -i "c:\temp\sql.sql"

关于powershell - 如何从Powershell执行sqlcmd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com