gpt4 book ai didi

ssis - 如何将数字转换为字符串并将其作为参数传递给执行流程任务?

转载 作者:行者123 更新时间:2023-12-03 15:13:38 25 4
gpt4 key购买 nike

我在 SSIS 2008 R2 中使用执行进程任务。我有一个变量 idVar数据类型为 Int32。我需要将此变量传递给属性 Arguments任务,以便进程可执行文件可以将此变量作为参数。我使用表达式来分配 @idVarArguments .

现在系统说我需要将 Int 转换为 String 所以我在表达式构建器中使用了以下表达式

(DT_STR, 10, 1252) @[User::IdVar] 

它给出了以下错误:
Expression cannot be evaluated.

Additional information:
The expression "(DT_STR, 10, 1252) @[User:IdVar]" has a result type of "DT_STR",
which cannot be converted to a supported type.

(Microsoft.DataTransformationServices.Controls)

将数字转换为字符串的正确方法是什么?

Error

最佳答案

问题原因:Arguments “控制流”选项卡上可用的“执行流程任务”中的属性需要数据类型 DT_WSTR 的值而不是 DT_STR .
说明问题和修复的 SSIS 2008 R2 包:
在 Business Intelligence Development Studio (BIDS) 2008 R2 中创建 SSIS 包并将其命名为 SO_13177007.dtsx .使用以下信息创建包变量。

Name   Scope        Data Type  Value
------ ------------ ---------- -----
IdVar SO_13177007 Int32 123
Variables pane
将执行流程任务拖放到控制流选项卡上,并将其命名为传递参数
Control Flow tab
双击执行进程任务打开 Execute Process Task Editor .单击“表达式”页面,然后单击“表达式”属性旁的省略号按钮以查看 Property Expression Editor .
Execute Process Task Editor
在属性表达式编辑器上,选择属性 Arguments并单击属性旁边的省略号按钮以打开 Expression Builder .
Property Expression Editor
在表达式生成器上,输入以下表达式并单击 Evaluate Expression .此表达式尝试转换变量 IdVar 中的整数值到字符串数据类型。
(DT_STR, 10, 1252) @[User::IdVar]
Expression Builder - DT_STR
单击 Evaluate Expression 将显示以下错误消息,因为 Execute Process Task 上的 Arguments 属性需要数据类型 DT_WSTR 的值。 .
Integer to ANSI string conversion error
要解决此问题,请更新如下所示的表达式以将整数值转换为数据类型 DT_WSTR .单击“评估表达式”将在“评估值”文本区域中显示该值。
(DT_WSTR, 10) @[User::IdVar]
Expression Builder - DT_WSTR
引用:
了解数据类型之间的差异 DT_STRDT_WSTR在 SSIS 中,阅读文档 Integration Services Data Types在 MSDN 上。以下是有关这两种字符串数据类型的文档中的引号。
DT_STR
以空字符结尾的 ANSI/MBCS 字符串,最大长度为 8000 个字符。 (如果列值包含额外的空终止符,则字符串将在出现第一个空值时被截断。)
DT_WSTR
一个以空字符结尾的 Unicode 字符串,最大长度为 4000 个字符。 (如果列值包含额外的空终止符,则字符串将在出现第一个空值时被截断。)

关于ssis - 如何将数字转换为字符串并将其作为参数传递给执行流程任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13177007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com