【发布时间】:2014-07-04 01:57:08
【问题描述】:
我有一个相当简单的 SSIS 包,我多次使用它来将制表符分隔的文件导入数据库中的单个表中。
我将一个新的源文件附加到包并尝试运行该包。
- 包启动
- 一个 cmd 提示符短暂出现,然后消失 [?!]
- 然后进程在平面文件源组件上退出。 [??!]
- 输出显示如下:
SSIS 包“C:\Users...\Conversion\LoadHistory.dtsx” 开始。
信息:0x4004300A 将数据加载到旧版 数据库 - 测试,SSIS.Pipeline:验证阶段开始。
信息:0x4004300A 将数据加载到旧版数据库 - 测试,SSIS.Pipeline:验证阶段开始。
信息: 0x40043006 将数据加载到旧版数据库 - 测试, SSIS.Pipeline:准备执行阶段开始。信息: 0x40043007 将数据加载到旧数据库 - 测试, SSIS.Pipeline:预执行阶段开始。
信息:0x402090DC 在将数据加载到旧数据库 - 测试,平面文件源 [14]:文件的处理 “C:\Users...\Conversion\Production\Historicals\Source_2341.txt”已启动。
信息:0x4004300C 在加载 数据到旧数据库 - 测试,SSIS.Pipeline:执行 阶段开始。
SSIS 包“C:\Users...\Conversion\LoadHistory.dtsx” 完成:取消。
程序 '[4380] DtsDebugHost.exe: DTS' 有 以代码 0 (0x0) 退出。
该文件似乎符合我期望的格式规范。我能想到的唯一问题是该文件最初被编码为 UCS-2 Little Endian,我们期待的是 UTF-8 或 ANSI 格式。我使用 Notepad++ 将文件重新编码为 UTF-8,结果文件通过了初始元数据检查,因此我必须假设已解决。
我不确定是什么导致包裹自动取消。
以前有人经历过吗?
【问题讨论】:
-
你能在 Visual Studio 之外运行其他包吗?
-
是的,我所有的其他包都正常工作。它似乎只与这一个包有关。
-
你可以使用 dtexec 命令行运行包吗? C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe /file
- 可能不是 100,无论你使用的是什么版本的 SSIS。