我在SSIS(2008)中遇到了一个非常奇怪的问题。
基本工作流程如下..
使用flatfile源(CSV),进入SSIS,进入SQL。
当在开发环境中运行进程时,一切都运行良好。
当dtsx软件包投入生产时......使用完全相同的平面文件源,文件中的最后一条记录在到达SQL proc开始时就会被删除。 / p>
已经完成了我可以想到的所有内容,包括行分隔符,列分隔符,重建平面文件源连接。
以前有人见过这样的事吗?
CSV文件包含10条记录,共有4列。它由逗号分隔,并由{CR} {LF}分隔。该文件由Excel生成,并在CSV文件的末尾有一个空行。
如果需要更多信息,请与我们联系。我不确定我能提供什么。
答案 0 :(得分:9)
我有同样的问题。我发现当我将SSIS包从一个服务器复制到另一个服务器时,平面文件源的文本限定符有时会混乱,因此不是< none>它将有_x003C_none_x003E_。一旦我修复了没有删除任何记录。
答案 1 :(得分:3)
我遇到了同样的问题,我昨天通过确保各列不是TextQualified来解决它。将它们全部设置为虚假神奇地使我的工作。我希望有所帮助。
答案 2 :(得分:0)
我之前遇到过类似的问题。这通常是因为您的生产SQL框是x64并且开发是X32。它仍然令人惊讶,但OLEDB驱动程序 x64 SQL服务器不完全受支持。然而,非常支持x32位相同的功能。
它始终缺少最后一条记录,后来在数据对帐中找到。 我使用的是平面文件源适配器,然后使用不同的DFT进行反复试验,发现如果你使用BULK INSERT错误就会消失,因为它不依赖于X64驱动程序。