[英]SQL Server Agent job step - changing the name of the “run as” account
[英]Syntax error when run in as step in SQL Server Agent Job
在PowerShell窗口中運行以下腳本時,它們的工作原理非常好。
Import-Csv $DestinationFile | ForEach-Object {
Invoke-Sqlcmd -Database $database -ServerInstance $server -Query "INSERT INTO $table VALUES ('$($SourceFile)','$($_.LineNumber)','$($_.LineDescription)','$($_.Criteria)','$($_.LineValue)')"
}
但是,當您通過SQL Server代理作業運行此腳本時,則會產生語法錯誤。
另外,下面提到的行在安排為工作時不起作用。
$objWord = New-Object -Com Word.Application
$objWord.Visible = $false # $false
使用PowerShell,我們搜索文檔,並基於模式搜索找到結果……我們將它們導入數據庫。
當您在PowerShell控制台中運行時,一切正常,但是當您嘗試通過SQL Server運行PS1文件時,它什么也沒做。
請改用此方法,因為在SQL Agent中$( ... )
是保留的。
Import-Csv $DestinationFile | ForEach-Object {
Invoke-Sqlcmd -Database $database -ServerInstance $server -Query "INSERT INTO $table VALUES ('$SourceFile','" + $_.LineNumber + "','" + $_.LineDescription + "','" + $_.Criteria + "','" + $_.LineValue + "')"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.