Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS SSIS:使用Access MEMO类型的变量(字符串与对象)的数据类型冲突_Ms Access_Ssis - Fatal编程技术网

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

Ms access MS SSIS:使用Access MEMO类型的变量(字符串与对象)的数据类型冲突,ms-access,ssis,Ms Access,Ssis,我制作此包是为了使我的sql任务更具动态性: 第一步。我从AccessTable中选择要运行的SQLtext并将其存储在SQLStr变量中 第二步。我从步骤1运行存储在var SQLStr中的Select语句。 然而,只有当我使用DataType=Object时,我才能运行Step1,只有当我使用DataType=String时,我才能运行Step2,我使用它并验证了这100$。 如何解决这个问题,我可以做一些转换吗?对于数据类型,我的查询存储在accessdb type=Memo中,因为它相当

我制作此包是为了使我的sql任务更具动态性: 第一步。我从AccessTable中选择要运行的SQLtext并将其存储在SQLStr变量中

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

**请注意,此问题仅适用于访问备忘录类型字段** 在其他设置中,它应与步骤1中的字符串类型OK一起使用


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

如果无法将memo字段强制转换为SELECT中的字符串(我不熟悉Access),则可以在
foreach循环
中迭代对象变量,并将
SQLText
列的值存储在字符串变量中,然后使用该变量继续执行步骤2


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

Tx很抱歉,它在TSQL中起作用,但不适用于Access,我做了更多的测试,缩小了100%。Access Memo-->到字符串的转换应该有些特别,CStr不适用于SSIS,它仍然只需要对象。我正在做更多的研究如何解决这个问题。我刚刚和gurus女士谈过,这是Access db中有关备注字段的已知问题,而不是在SSIS中对其进行转换,建议在psssble中使用文本类型,或者使用TSL表。在我的例子中,SQL command=2000b,所以我将做一些其他的事情。第三段中的暴力方法应该根据链接的文章工作。是的,再次感谢Tab!!我只有几个SQLText条目,所以在TSQL中创建它很容易,没问题,至少现在我可以睡个好觉了!!