Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自另一个运行手册的Azure自动化运行手册_Azure_Powershell_Azure Sql Database_Azure Automation_Azure Runbook - Fatal编程技术网

来自另一个运行手册的Azure自动化运行手册

来自另一个运行手册的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' +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我有一个运行手册名“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}”


我可以知道我在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)
}