1
我试图调用PowerShell脚本中的存储过程以将数据插入到SQL Server表中。该脚本运行正常,没有错误,但应写入表中的信息不存在。我不确定代码不起作用,因为我对PowerShell相当陌生。任何帮助,这将不胜感激。在PowerShell中调用存储过程以插入到SQL Server数据库中
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
我甚至没有注意到这一点。我认为需要一双新鲜的眼睛。这一直奏效。谢谢! – Cornflake2068