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 调整为最大预期字符数。
我有一个 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 调整为最大预期字符数。