【发布时间】:2018-07-20 12:42:17
【问题描述】:
当您在 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 Server PowerShell 模块?
-
如何查看sql server powershell模块是否安装
-
当您将其作为作业安装时 - 在类型...下,您可以选择 POWERSHELL...。
-
Get-Module -ListAvailable是否显示模块SqlServer?您首先使用的是哪个 SQL Server 版本? -
我们正在使用的SQL 2016,我也导入了Import-module sqlps
标签: sql-server powershell sql-server-2016