我有一個調用SQL腳本的Power-shell腳本。這是目前正在工作,但在我的SQL腳本中,我有一些硬編碼的參數,我想通過PowerShell傳遞給SQL腳本。如何通過Powershell將參數傳遞給SQL腳本
所以這是剪斷,它從Power-shell腳本
function ExecSqlScript([string] $scriptName)
{
$scriptFile = $script:currentDir + $scriptName
$sqlLog = $script:logFileDir + $scriptName + "_{0:yyyyMMdd_HHmmss}.log" -f (Get-Date)
$result = sqlcmd -S uk-ldn-dt270 -U sa -P passwordhere3! -i $scriptFile -b | Tee-Object - filepath $sqlLog
if ($result -like "*Msg *, Level *, State *" -Or $result -like "*Sqlcmd: Error:*")
{
throw "SQL script " + $scriptFile + " failed: " + $result
}
}
try
{
ExecSqlScript "restoreDatabase.sql"
}
catch
{
//Some Error handling here
}
這是從SQL
USE MASTER
GO
DECLARE @dbName varchar(255)
SET @dbName = 'HardCodedDatabaseName'
所以我想通過對DBNAME價值,任何想法?
最好使用sql變量,因爲這有助於防止SQL注入 – Tbonechk27