【问题标题】:DTS pkg converted to SSIS failing due to truncation issue由于截断问题,DTS pkg 转换为 SSIS 失败
【发布时间】:2013-03-05 14:31:20
【问题描述】:

我遇到了一个问题,我需要将 DTS pkgs 带到新服务器并让它们作为计划的 SQL 作业运行。我已进入 DTS pkg 并编辑了连接以包括新的 2008 服务器名称和新的 UNC 路径。 DTS 包采用固定长度的平面文件并将这些值加载到 db 表中。编辑 DTS 后,我导出到结构化 DTS 包文件。然后我转到新服务器并使用迁移向导将 DTS 转换为 DTSX 文件。完成后,我将 DTSX 导入到保护级别为“依赖服务器存储和角色进行访问控制”的集成服务中。

然后我运行该软件包,但由于以下原因而失败:

Source: Copy Data from Medical Services to  cabinet   dbo   SERVICE_FILE  Task Flat File Source [1]    


 Description: Data conversion failed. The data conversion for column "Col004" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.". 


 End Error  Error: 2013-03-04 23:19:13.01     Code: 0xC020902A     Source: Copy Data from Medical Services to  cabinet   dbo   SERVICE_FILE  Task Flat File Source [1]     Description: The "output column "Col004" (22)" failed because truncation occurred, and the truncation row disposition on "output column "Col004" (22)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component.  End Error  Error: 2013-03-04 23:19:13.01     Code: 0xC0202092     Source: Copy Data from Medical Services to  cabinet   dbo   SERVICE_FILE  Task Flat File Source [1]     Description: An error occurred while processing file "\\hpf15release\global$\cold\coldin\FTP_DXPX\Medical_Services_Master_File" on data row 1.  End Error  Error: 2013-03-04 23:19:13.01     Code: 0xC0047038     Source: Copy Data from Medical Services to  cabinet   dbo   SERVICE_FILE  Task SSIS.Pipeline     Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Flat File Source" (1) returned error code 0xC0202092.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  11:19:12 PM  Finished: 11:19:13 PM  Elapsed:  0.952 seconds.  The package execution failed.  The step failed.

我正在使用与旧服务器相同的包...和平面文件,它在旧服务器上运行良好。它试图复制到的表具有具有相同特征的相同列......因此试图了解此错误来自何处。

非常感谢任何帮助

【问题讨论】:

  • 1)您编辑原始 DTS 包以引用新位置。 2)您通过迁移向导运行它以转换为 SSIS?最终结果是正确的 SSIS 包,还是仅包含“执行 DTS 包”步骤的 SSIS 包?
  • 我认为它最有可能是 Execute DTS 包,因为当我在 Visual Studio 中打开它时,每一行都以
  • 当我在编辑器中打开 2008 服务器上的 DTS 包并执行它时,它可以完美运行。但是,如果我将包作为 DTS 导出到桌面,然后使用迁移向导转换为 DTSX,然后将该 pkg 导入集成服务,然后运行它......这是失败的时候

标签: ssis truncate dts truncation


【解决方案1】:

请检查您的目标表结构是否与以前相同。它可能是数据类型问题。我之前也遇到过同样的问题,通过数据类型转换解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多