【发布时间】:2019-09-01 16:12:49
【问题描述】:
我的 ssis 包中有一个查询,它使用 xml 路径在执行 sql 任务中返回单行以分号分隔的值。我有一个名为 email_list 的用户变量,然后将其设置为 ResultSet 作为单行。但是当我运行它时,我得到一个错误:
值类型(___ComObject)只能转换为object类型的变量
我意识到必须将变量 email_list 设置为 Object 类型,但如果我这样做,然后尝试在电子邮件任务的表达式构建器的 ToLine 字段中使用它,则表达式不会计算并引发错误.
我在这里看到了提供脚本任务解决方案的文章,但我不想要任何脚本 - 如何在表达式构建器本身中通过将对象转换/转换为字符串来完成?
如果无法在表达式生成器中完成,解决方法是什么?
我在执行sql任务中的查询是:
SELECT STUFF((SELECT ';' + email
FROM booklist..books
FOR XML PATH('')) ,1,1,'') AS email_address
【问题讨论】:
-
是否有理由将 XML 存储在 Object 类型的变量中而不是 String 中
-
@billinkc - 我使用了 stuff() 所以我可以得到一行分号分隔的值,如下所示:xxxyy@gmail.com;abcdef@yahoo.com;32ddgf@aol.com跨度>
-
你不能用'cast(stuff... As varchar(8000)) as ToList'包装东西调用
标签: ssis