我以为我在SQL order by 和 left outer join doesn't have correct order中问了一个类似的问题,但这略有不同。我正在使用 SSIS 和标准数据流从另一个 SQL-Server 2005 数据库获取数据。我得到的记录的顺序与源表中的顺序不同(实际上是一个视图)。在较旧的 DTS 中,顺序不会改变。
源或目标表或视图没有排序,通常,我认为如果顺序很重要,那么会指定它。我可能必须让某人指定一个顺序,我们可以继续进行,但我们正在处理历史形状文件,如果属性的顺序发生变化,那么形状指向错误的数据。
数据在导入时更改顺序是否有原因?有解决办法吗?
这就是顺序很重要的原因。它适用于地图应用程序,并且属性和形状必须匹配。如果订单发生变化,则项目将无法正确匹配。不幸的是,我无法确定数据的任何顺序,并且我怀疑之前的编码人员假定了一致的顺序,而这才是最重要的。使用 SSIS 的顺序不是相同的顺序,并且它永远不会显式设置。