[英]How to Handle sql_Variant sql datatype using Powershell
我正在使用Power Shell执行其中一个存储过程,该存储过程具有数据类型为sql_Variant的参数之一,并位于SSISDB(系统存储过程)中
由于sql_variant支持多种数据类型,因此我要传递int,string和boolean数据类型。
当我传递字符串数据类型时,存储过程执行得很好。 但不是int和boolean。
程序名称为
Catalog.Set_Object_Parameter_Value
它具有一个数据类型为SQL_Variant的参数。 下面是屏幕截图。
在基于某些条件输入值时,我将获得int / string / bool数据类型。
在使用Power-shell输入之前,如何处理/将这些值转换为Sql_Variant数据类型。
目前,我的power-shell命令如下所示。
$procSignature = "EXEC [catalog].[set_object_parameter_value] @object_type,@folder_name,@project_name,@parameter_name,@parameter_value,@object_name";
$cmd = New-Object System.Data.SqlClient.SqlCommand;
$cmd.Connection = $catalogConnection;
$cmd.CommandText = $procSignature;
$cmd.Parameters.AddWithValue("@object_type", $Scope ) | Out-Null;
$cmd.Parameters.AddWithValue("@folder_name", $FolderName ) | Out-Null;
$cmd.Parameters.AddWithValue("@project_name", $ProjectName ) | Out-Null;
$cmd.Parameters.AddWithValue("@parameter_name", $ParmeterName ) | Out-Null;
$cmd.Parameters.AddWithValue("@parameter_value", $ParmeterValue ) | Out-Null;
$cmd.Parameters.AddWithValue("@object_name", $object ) | Out-Null;
我在使用完全相同的SP时遇到了完全相同的问题。 尝试这个:
$cmd.Parameters.AddWithValue("@parameter_value", $ParameterValue -As $ParameterValue.GetType().Name) | Out-Null;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.