SSIS 包未将超过 50 个字母的单词插入文本文件中的特定列

问题描述 投票:0回答:1

通过 SSIS 包将文本文件中的数据插入到 sql server 时,在一列中出现错误,因为它无法插入长度超过 50 的列。我应该怎么做才能启用插入。

使用 SSIS 包将数据从文本文件插入到 SQL Server 数据库中的一张表中。

sql ssis
1个回答
0
投票

SSIS 正在按照您的要求行事。默认情况下,平面文件连接管理器会将输入列的长度定义为 50 个字符。

  1. 双击平面文件连接管理器
  2. 转到“列”选项卡
  3. 找到较短的列。
  4. 将宽度/输出宽度的值更改为列的上限(可能已在表中定义)
  5. 此时,数据流将报告至少一个验证错误或警告,因为源的定义已更改并且需要刷新元数据。双击平面文件源应该可以纠正这个问题
  6. 任何下游组件都会接收元数据更改,除非管道中有异步组件(排序、联合等),在这种情况下,您可以修复每个点以下的数据。

如果您让 SSIS 创建目标表,现在您还需要修复目标表定义。假设 SQL Server 我们需要将长度增加到 255,就像这样

ALTER TABLE
    dbo.MyTable
ALTER COLUMN
    ShortCol varchar(255);
© www.soinside.com 2019 - 2024. All rights reserved.