Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Join SSIS合并联接组件写入了0行_Join_Ssis_Merge_Metadata - Fatal编程技术网

Join SSIS合并联接组件写入了0行

Join SSIS合并联接组件写入了0行,join,ssis,merge,metadata,Join,Ssis,Merge,Metadata,首先,感谢社区在网站上提供的大量信息,在C#和SSIS方面对我帮助很大。第二件事是,我的英语不是很好,所以请耐心,如果你不懂什么,请问,我会努力使它更好 我从不同的数据库获得了两个OLEDB连接源,两个表都得到了一个ID为的列,我将其用作连接键。在RUT CRUZADOS中,ID是浮点数据类型,而在另一个源(CTATE añO PAS)中,我不知道它是哪种类型的数据(我不能用sql server打开数据库,我只能执行选择操作) 当我在合并中合并它们时,不会返回任何错误,但是当我运行程序时,就会发

首先,感谢社区在网站上提供的大量信息,在C#和SSIS方面对我帮助很大。第二件事是,我的英语不是很好,所以请耐心,如果你不懂什么,请问,我会努力使它更好

我从不同的数据库获得了两个OLEDB连接源,两个表都得到了一个ID为的列,我将其用作连接键。在RUT CRUZADOS中,ID是浮点数据类型,而在另一个源(CTATE añO PAS)中,我不知道它是哪种类型的数据(我不能用sql server打开数据库,我只能执行选择操作)

当我在合并中合并它们时,不会返回任何错误,但是当我运行程序时,就会发生这种情况

[SSIS.Pipeline]信息:“组件”CARGOS ABONOS(239)“写入0 排

在MicrosoftAccess中,“内部联接”返回大约400万行。我认为问题在于元数据,但我不知道如何使用“数据转换”。谁能帮帮我吗


谢谢大家

您可以通过双击连接器线路查看数据类型,至少对于SSI而言是这样。在弹出的数据流路径编辑器中,“元数据”选项卡将描述列类型

也就是说,这并不重要,因为Merge-Join转换只允许合并相同类型的数据

A要求对源系统数据进行排序。这可以通过向流中添加排序组件(不推荐,因为这是一种消耗所有内存并降低性能的异步转换)或在源系统中显式排序,然后在“高级”选项卡中将它们标记为已排序来实现

因为我没有看到排序,这让我相信排序是在源系统中完成的。或者,排序没有在那里完成,但有人已将输出标记为已排序。在这些源查询中必须有明确的ORDER BY子句。有时,SQL Server将以相同的顺序返回数据,但除非有order BY,否则无法保证返回数据。(我希望我能用flash标签来强调最后一点)

未来的读者,如果您在两个系统中都有排序,并且它们都在同一列上排序,那么您需要检查排序规则。不区分大小写与区分大小写不同,基于ASCII的系统上的排序产生的排序与使用EBCIDIC进行字母数字混合的排序不同,就像我曾经做过的那样

由于源数据类型似乎是浮动的,所以排序可能不是罪魁祸首。我开始意识到,不是排序问题,而是一个更丑陋、更阴险的比较问题。浮点数是近似值。1=1,但1.00000000000(etc)可能等于或不等于1.0000000000(etc)1


你真的需要小数点来匹配吗?如果不是,在这两个系统中转换为整数(以及对转换值进行排序)应该可以使这些匹配工作。如果小数位数很重要,那么您需要将其转换为精确的数字类型(并祈祷它们以相同的方式转换)。Access确实做到了这一点,这让我相信整数数据类型将是您的救星。

非常感谢billinkc,演员阵容和排序工作非常完美。。。这个问题耽误了两个工作日,你在几分钟内就解决了,我真的很感谢你的帮助。