来自另一个运行手册的Azure自动化运行手册
我有一个运行手册名“RB_ConnectSQL” 和另一个runnbook名称“RB_每日交易汇总记录” 运行手册“RB_Daily_Transaction_Summary_Record”假设调用“RB_ConnectSQL”并传入所需参数,以便在Azure SQL Server中执行存储过程。 但是我得到了错误 第78行字符:17 +-SqlServer'blahblah.database.windows.net' +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~找不到“-SqlServer”命令。如果此命令定义为工作流,请确保在调用该命令的工作流之前定义该命令。如果该命令打算直接在Windows PowerShell中运行(或在此系统上不可用),请将其放置在InlineScript中:“InlineScript{-SqlServer}”来自另一个运行手册的Azure自动化运行手册,azure,powershell,azure-sql-database,azure-automation,azure-runbook,Azure,Powershell,Azure Sql Database,Azure Automation,Azure Runbook,我有一个运行手册名“RB_ConnectSQL” 和另一个runnbook名称“RB_每日交易汇总记录” 运行手册“RB_Daily_Transaction_Summary_Record”假设调用“RB_ConnectSQL”并传入所需参数,以便在Azure SQL Server中执行存储过程。 但是我得到了错误 第78行字符:17 +-SqlServer'blahblah.database.windows.net' +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我可以知道我在runbook上有什么错误吗?我发现问题在于我为了可读性而将代码分开
workflow RB_Daily_Transaction_Summary_Record
{
$dataTable = RB_ConnectSQL
-SqlServer 'blahblah.database.windows.net'
-Database 'blahDev'
-Procedure 'sp_Daily_Transaction_Summary_Record'
-SqlCredentialName 'blahCredential'
Write-Output($dataTable)
}
但新的一行似乎打破了密码
我将其改写为:
workflow RB_Daily_Transaction_Summary_Record
{
$dataTable = RB_ConnectSQL -SqlServer 'blahblah.database.windows.net' -Database 'blahDev' -Procedure 'sp_Daily_Transaction_Summary_Record' -SqlCredentialName 'blahCredential'
Write-Output($dataTable)
}
然后错误消失了,它工作得很好 如果要将命令分成多行,请在每行末尾添加
空格和反引号,最后一行除外
在您的情况下,它应该使用以下格式:
workflow RB_Daily_Transaction_Summary_Record
{
$dataTable = RB_ConnectSQL
-SqlServer 'blahblah.database.windows.net' `
-Database 'blahDev' `
-Procedure 'sp_Daily_Transaction_Summary_Record' `
-SqlCredentialName 'blahCredential'
Write-Output($dataTable)
}
分隔powershell代码时,应在每行末尾使用反引号(此符号`)。@IvanYang是指我需要在每行末尾使用反引号吗?是的,请尝试使用以前的脚本:),但最后一行除外:-SqlCredentialName“blahCredential”。任何问题请告诉我。@IvanYang是的,谢谢。
workflow RB_Daily_Transaction_Summary_Record
{
$dataTable = RB_ConnectSQL -SqlServer 'blahblah.database.windows.net' -Database 'blahDev' -Procedure 'sp_Daily_Transaction_Summary_Record' -SqlCredentialName 'blahCredential'
Write-Output($dataTable)
}
workflow RB_Daily_Transaction_Summary_Record
{
$dataTable = RB_ConnectSQL
-SqlServer 'blahblah.database.windows.net' `
-Database 'blahDev' `
-Procedure 'sp_Daily_Transaction_Summary_Record' `
-SqlCredentialName 'blahCredential'
Write-Output($dataTable)
}