Ich versuche, eine gespeicherte Prozedur in einem PowerShell-Skript aufzurufen, um Daten in eine SQL Server-Tabelle einzufügen. Das Skript läuft ohne Fehler, aber die Informationen, die in die Tabelle geschrieben werden sollen, sind nicht vorhanden. Ich bin mir nicht sicher, wo der Code nicht funktioniert, da ich PowerShell ziemlich neu bin. Jede Hilfe mit diesem würde geschätzt werden.Aufrufen einer gespeicherten Prozedur in PowerShell zum Einfügen in die SQL Server-Datenbank
function WriteData
{
param
(
[String] $Server,
[int] $CheckId,
[String] $Investigate
)
try
{
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=MyServer;DataBase=MyDatabase;Integrated Security=SSPI"
$SqlConnection.open()
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandType = [System.Data.CommandType]::StoredProcedure
$SqlCmd.CommandText = "EXEC dbo.usp_InsertTest"
$param1=$sqlcmd.Parameters.Add("@param1" , [System.Data.SqlDbType]::VarChar)
$param1.Value = $param1
$param2=$sqlcmd.Parameters.Add("@param2" , [System.Data.SqlDbType]::Int)
$param2.Value = $param2
$param3=$sqlcmd.Parameters.Add("@param3" , [System.Data.SqlDbType]::VarChar)
$param3.Value = $param3
$SqlCmd.Connection = $SqlConnection
$tmp=$SqlCmd.ExecuteNonQuery()
$SqlConnection.Close()
}
catch
{
if($SqlConnection.State -eq "Open")
{
$SqlConnection.Close()
}
return -1
}
}
WriteData -Param1 Test -Param2 1 -Param3 HelloWorld
Ich habe das nicht einmal bemerkt. Ich denke, dass ein frisches Paar Augen benötigt wurde. Das hat funktioniert. Vielen Dank! – Cornflake2068