我曾在一個名爲Test.sql文件的下面時,遇到了異常:調用調用-SQLCMD
SELECT '$(Val1)' AS [Value 1], '$(Val2)' AS [Value 2]
我想運行在pwershell提示如下:
Invoke-Sqlcmd -ServerInstance '.\SQLExpress' -Variable @("Val1='Test'","Val2='Test2'") -InputFile ".\SQL\Test.sql"
我得到錯誤:
Invoke-Sqlcmd : Incorrect syntax near ''. At line:1 char:1 + Invoke-Sqlcmd -ServerInstance '.\SQLExpress' -Variable @("Val1='Test'","Val2='Te ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Invoke-Sqlcmd], SqlPowerShellSqlExecutionException + FullyQualifiedErrorId : SqlError,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
如果我換出的Test.sql與裏面的SQL:
SELECT @@VERSION
PowerShell命令行工作,所以我認爲問題是與SQL文件本身。
如果我從提示等效參數的dos提示符運行sqlcmd.exe我的SQL腳本工作。
我需要做些什麼才能使其發揮作用?
您是否嘗試在。\ SQLExpress之後添加數據庫名稱? – xXhRQ8sD2L7Z 2014-12-01 17:39:07
你的意思是使用DATABASE開關? – 2014-12-01 17:39:36
我嘗試了開關,但沒有任何區別。 – 2014-12-01 17:40:41