SSIS:将 int32、字符串变量值插入 SQL table

SSIS: Inserting int32, string variable values into SQL table

我有一个 SSIS 包,其中有一个执行 SQL 任务,我在其中使用了以下不起作用的语句。你能解释一下为什么吗?

INSERT INTO SSIS.FIIN_FilesInfo
    (FIIN_PKIN_package_id, FIIN_package_connection_string, FIIN_created_date)
SELECT '" +  @[User::package_id]] + "' AS Expr1, '" + @[User::package_connection_string]+ "' AS Expr2, GETDATE() AS Expr3

在这里, FIIN_PKIN_package_id is int32 data type FIIN_package_connection_string is string data type

如果我使用变量映射仅插入字符串值,它会起作用。但是如果我尝试插入 int32 和字符串值然后使用变量映射它就不起作用了。这就是我尝试这种方式的原因。非常感谢。

注意:对于变量映射,我使用了这个查询:

INSERT INTO SSIS.FIIN_FilesInfo
    (FIIN_PKIN_package_id, FIIN_package_connection_string, FIIN_created_date)
VALUES (?,?, GETDATE())

您必须将 int32 变量转换为字符串。

在SSIS中,你可以把你想把变量转换成的类型(用括号括起来)放在变量前面;如果是字符串,您还必须指定最大字符数。

如果您的 int32@[User::package_id] 则使用 (DT_WSTR, 10)@[User::package_id];请记住将数字 10 调整为最大预期字符数。