に送信されていない私は仕事PowerShellのストアドプロシージャのパラメータが
function Log-Build($lastExitCode, $result, $taskId) {
$date = Get-Date
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
$cmd = New-Object System.Data.SqlClient.SqlCommand
$myResult = $result -join "<br/>`r`n" |Out-String
$cmd.Connection = $connection;
$cmd.CommandText = "LSBuild_LogAndMailResult";
$cmd.Parameters.AddWithValue("@Task_ID",[string]$taskId);
$cmd.Parameters.AddWithValue("@Result",[string]$myResult);
$cmd.Parameters.AddWithValue("@Deployment_Status",[int]$lastExitCode);
$connection.Open()
$cmd.ExecuteNonQuery() | Out-Null
$connection.Close()
}
の結果をログに記録PowerShellの(バージョン4)スクリプト内でストアドプロシージャを持って、私はそれを実行したときしかし、私はいつも次のエラーを取得します応答: "0" 引数(複数可)と "は、ExecuteNonQuery" を呼び出す
。例外:「プロシージャまたは関数が 'LSBuild_LogAndMailResult' パラメータ '@Deployment_Status'、供給されなかった 見込ん
Powershell ISEのターミナルウィンドウで、パラメータがそこにあることを確認しました($ cmd.Parameters ["@ Deployment_Status"]。value;)、これは確実に追加されています。それはデータベース
' $ LASTEXITCODE'が自動変数であるように、コマンドタイプを設定する必要がありません –
私は$ lastExitCodeを削除して、ハードコードされた整数(0)をsqlパラメータとして追加しようとしましたが、依然として同じ結果を受け取りました – Daryl1976