我想要做的是从PowerShell执行两个存储过程并将结果保存到日志文件中。
我有两个程序,所以我可以更容易地创建一个执行这两个程序的“主”程序。
到目前为止,我能够成功执行主程序(两个子程序都运行),但只有第二个输出存储在日志文件中。
param([string]$datein="string")
$OutputFile = "C:\...\ScriptOutput.txt"
$handler = [System.Data.SqlClient.SqlInfoMessageEventHandler] {param($sender, $event) Out-File -filepath $OutputFile -inputobject $event.Message };
$SqlConnection = new-Object System.Data.SqlClient.SqlConnection("server=ServerName;database=DB;integrated security=true")
$SqlConnection.add_InfoMessage($handler);
$SqlConnection.FireInfoMessageEventOnUserErrors = $true;
$SqlConnection.Open() | Out-Null
# Execute procedures
$cmd = new-Object System.Data.SqlClient.SqlCommand("[dbo].[tst_master]", $SqlConnection)
$cmd.CommandType = [System.Data.CommandType]'StoredProcedure'
$cmd.Parameters.Add("@date_in",$datein) | Out-Null
$cmd.ExecuteNonQuery() | Out-Null
$SqlConnection.Close()
修改
它在虚拟机上,Windows服务器2016. Powershell版本主要:5,次要:1。我正在使用MSSQL 2014。