MS SSIS:使用Access MEMO类型的变量(字符串与对象)的数据类型冲突

时间:2018-08-16 18:52:54

标签: ms-access ssis

我制作了这个软件包,以使我的sql任务更加动态: 步骤1。我选择SQLtext从我的AccessTable中运行并存储在SQLStr变量中。

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

**请注意,此问题仅出现在“访问备忘录类型”字段中! 在其他设置中,它应在步骤1中使用字符串类型OK(确定)

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

如果这两种方法都不起作用,则可以使用this thread中的解决方案将Access表导入到使用nvarchar(max)字段的SQL Server上的暂存表中,您应该这样做可以毫无问题地选择一个字符串变量。