集成服务在加入表时删除整个表
我对 SQL Integarion service 2005 (SSIS) 有一个特殊问题。在存储过程期间,我用数据填充表。之后,我通过 varchar 列与 SSIS 和另一个表连接该表,但我错过了一些条目。如果我只使用 SQL Server(没有 SSIS)做同样的事情,我会得到所有的整体。我已经知道 SSIS 有一种不同的比较机制(在字节级别),但我可以找到为什么缺少此条目。
我已经比较了条目文本的长度,手动检查了它,尝试了不同的排序规则。
有谁知道我如何识别这个整体(在 SSIS 上丢失了)?
此致
i have a special problem with SQL Integarion service 2005 (SSIS). During a stored procedure i fill a table with data. Afterwards i join this table over a varchar column with SSIS and another table, but i miss some of the entries. If i do the same using only SQL server (no SSIS) i get all entires. I know already SSIS has a different mechanism for comparing (on byte level) but i can find, why this entries are missing.
I already compared the length of the text of the entries,checked it by hand, tried differend collation.
Has anyone a idea, how i identify this entires (which missing on SSIS)?
Best Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SSIS 区分大小写,因此如果您要连接字符串列,则可能无法获得某些匹配项。鉴于您已经检查了长度和排序规则,听起来这可能是问题所在。如果这是问题所在,您可以将数据流中的列设为大写以执行联接操作。
SSIS is case-sensitive, so if you are joining on string columns, you may not get some matches. Given that you've checked for length and collation already, it sounds like this may be the issue. If this is the problem, you can make the columns Uppercase in the Data Flow to perform the join operation.
如果您使用合并联接组件在 SSIS 中进行联接,请确保您的源查询按您用于联接的列对结果进行排序。
在源上将 IsSorted 值设置为 True 而没有使用 ORDER BY 子句实际对查询中的结果进行排序是一个常见的错误。
If you're using a Merge Join component to do the join in SSIS, make sure your source queries are ordering the results by the column you're using to join.
It's a common mistake to set the IsSorted value to True on the source without actually ordering the results in the query with an ORDER BY clause.