首页 > 解决方案 > MS SSIS:使用 Access MEMO 类型的变量(字符串与对象)的数据类型冲突

问题描述

我制作了这个包以使我的 sql 任务更加动态:Step1。我选择 SQLtext 从我的 AccessTable 运行并存储在 SQLStr var 中。

第2步。我从 Step1 运行存储在 var SQLStr 中的 Select 语句。但是,只有当我使用 DataType = Object 时我才能运行 Step1,并且只有在我使用 DataType = String 时我才能运行 Step2,我玩过它并验证了这 100 美元。我该如何解决这个问题,我可以做一些转换吗?数据类型,我的查询存储在 Access DB type = Memo 中,因为它很长,并且可能有换行符。有什么诀窍??有关所有详细信息,请参阅下面的图片。

** 请注意,此问题仅发生在 Access Memo Type 字段中!!!!** 在其他设置中,它应该在 Step1 中使用 String 类型 OK

在此处输入图像描述

标签: ms-accessssis

解决方案


在您的第一个查询中,当您选择时SQLText,将其转换为字符串(在 select 语句中),以便您可以将其存储在字符串变量中。

如果无法将备注字段转换为 SELECT 中的字符串(我不熟悉 Access),那么您可以遍历 a 中的对象变量并将列foreach loop的值存储SQLText在字符串变量中,然后使用它进行第 2 步。

如果这些都不起作用,作为蛮力方法,您可以按照此线程中的解决方案将 Access 表导入到使用 nvarchar(max) 字段的 SQL Server 上的暂存表中,您应该可以将其选择到字符串变量没有问题。


推荐阅读