Powershell

使用 powershell Invoke-SQLCmd 的困難

  • December 13, 2017

我已經設置了一個簡單的 sqlcmd 腳本。內容如下。

 use $(dbname);
 select * from $(tablename)

然後我執行以下 Invoke SQLCMD

$SQLCMDVarArr = "dbname='MyDatabase'", "Tablename='MyTable'"

INVOKE-SQLCMD -ServerInstance MyServer\MyInstance -inputFile '\\MyShare\Database\Sprints\csrtemp2\csrtest.sql' -variable $SQLCMDVarArr

我得到了錯誤:

 INVOKE-SQLCMD : Incorrect syntax near 'MyDatabase'.

我直接從 invoke-sqlcmd get-help 範例中提取了語法。誰能告訴我這有什麼問題?

謝謝,

根據要求,這是在 Windows Server 2008 R2 上執行的

所以事實證明,get-help invoke-sqlcmd -example 將數組變數顯示為使用 ‘dbname=“MyDatabase”’ 作為語法。但是,這會產生上述錯誤,但是如果您交換引號位置以使變數使用“dbname =‘MyDatabase’”,則腳本將起作用。

引用自:https://dba.stackexchange.com/questions/193006