繁体   English   中英

如何使用Powershell处理sql_Variant sql数据类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM