【问题标题】:DT_NTEXT columns in an SSIS package and Truncation WarningsSSIS 包中的 DT_NTEXT 列和截断警告
【发布时间】:2012-10-18 06:03:33
【问题描述】:

我有两个问题:

1) 我有一个 DT_NTEXT 列,我从数据库中提取其值并尝试将其输入 Excel 中的测试列。我在中间使用数据转换步骤将其转换为 DT_TEXT(unicode 文本版本)。

不过,最后,Excel 连接管理器正在写入零行(它显示截断警告,但执行时没有错误)。我什至通过以下步骤在数据流中添加了一个数据查看器:

"在将源任务连接到数据转换和数据转换到目标任务的箭头中,双击,您将打开数据流路径编辑器。单击数据查看器,然后添加并单击确定。那将让您看到正在通过管道移动的内容。

不过,当我运行我的包时,我没有看到任何不同。

2) 我是否可以将 DT_NTEXT 列转换为 DT_WTSR 列。在一个完美的场景中,我应该将此列放入我的 Excel 中的标准 nvarchar 列中。

【问题讨论】:

  • 当我从我的 ole db 源预览时,它显示行......所以我的查询应该从数据库中检索值。同样,我的 Excel 目标管理器还向我显示了我的 Excel 工作表中所有必需的列,其中填充了空值。所以这应该也可以。我得到的只是验证警告:可能会发生截断
  • 您是否添加了两个数据查看器?一个用于源到转换器,另一个用于从转换器到目标?
  • 尝试将 Excel 目标暂时替换为行数目标。这将确认问题是否在 Excel 端。

标签: sql sql-server-2008 ssis


【解决方案1】:

尝试使用 DataType LongText。 将 Excel 目标放置在数据流表面上后,将源连接到目标。单击新建作为 Excel 工作表的名称。让系统决定数据类型,看看是否能解决您的问题。

这就是我所做的帮助我得出这个结论的原因:

  1. 创建表格

    CREATE TABLE [dbo].[ntext]
    (
        [ID] [int] NULL,
        [NTEXT] [ntext] NULL
    ) ON [PRIMARY]
    
  2. 插入一些记录

    1   asdsadsad
    2   qweqerrq
    3   But now, looping through the 351 flat-files to load the voter history records for the State's cities and towns, the package may process a few files, or up to 20 at a pop, before failing. I've been executing the packages interactively.  This is the text from the Output window from the last run:
    4    jus/juice, kilogramme/kilogram, lampe/lamp, mére/mother, nuit/night, océan/ocean, pantalon/pants, quintuplé/
    5   مباشر‎ - استمع مباشرة إلى راديو بي بي ...‎ - أخبار الشرق الاوسط‎ -
    6        Do not know what it says... just copied from some arabic web page from BBC site
    
  3. 使用 DFT 创建测试包。

    OleDB Source = 你创建的表

    Excel Dest = 创建一个新的 OLEDB 连接管理器

    数据访问模式 = 表或视图

    Excel 工作表的名称...选择新建...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2020-01-16
    相关资源
    最近更新 更多