我正在使用 SSIS Process 任务执行 Powershell 脚本。.PS1 代码将 .xlsx 文件转换为 .csv 文件。该包在使用 BIDS 的本地计算机上运行良好,但通过使用代理作业,该包正在生成 0KB 的 CSV 文件。
$strFileName = "\\Server\Data\Test.xlsx"
$strSheetName = 'Page 1$'
$strProvider = "Provider=Microsoft.ACE.OLEDB.12.0"
$strDataSource = "Data Source = $strFileName"
$strExtend = "Extended Properties='Excel 12.0 Xml;HDR=Yes;IMEX=1';"
$strQuery = "Select * from [$strSheetName]"
$objConn = New-Object System.Data.OleDb.OleDbConnection("$strProvider;$strDataSource;$strExtend")
$sqlCommand = New-Object System.Data.OleDb.OleDbCommand($strQuery)
$sqlCommand.Connection = $objConn
$objConn.open()
$da = New-Object system.Data.OleDb.OleDbDataAdapter($sqlCommand)
$dt = New-Object system.Data.datatable
[void]$da.fill($dt)
$dt | Export-Csv \\Server\Data\Test.csv -NoTypeInformation
$objConn.close()