Как запустить sqlcmd из powershell?

У меня есть строка в powershell, которая содержит нативную команду sqlcmd. Саму команду можно успешно выполнить в cmd.exe. У меня возникают трудности с их выполнением в powershell. Кто-нибудь может помочь? Спасибо.

Это sql.sql

select @@servername
go
select @@servicename

Это результат выполнения команды sqlcmd из cmd.exe

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>

Это сценарий powershell для вызова команды sqlcmd.

$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
20
задан Just a learner 15 March 2012 в 04:37
поделиться