0

我正在处理 ssis 包,我正在从 .xml 文件中获取值到 ado .net 目标

但是当我在表中输入值时出现以下错误:

由于将数据类型为“DT_I8”的输入列“Copy of swaps_Id”中的数据插入到数据类型为“DT_I4”的外部列“swaps_id”,可能会发生潜在的数据丢失。如果这是有意的,另一种进行转换的方法是在 ADO NET 目标组件之前使用数据转换组件

我已经使用Data conversion transformation editor了然后也得到了以上错误

应该纠正什么?

4

2 回答 2

0

此警告意味着数据Copy of swaps_Id是 64 位整数,您尝试将其插入目标表中的 32 位整数列。你应该做什么取决于你的数据。

  1. 如果您确定列中的数据在 32 位有符号整数范围内(-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)),您可以保持原样(永远不会发生数据截断,bur 警告会留)或做数据转换或更改Copy of swaps_Id列数据类型
  2. 如果不是,您应该将目标数据表中的列数据类型更改为 64 位整数(bigint在 Sql Server 中)
于 2012-09-20T23:40:00.060 回答
0

这仅仅意味着您的源数据类型大于您的目标可以处理的数据类型。在数据转换转换中,您可能希望将列转换为 DT_I8 数据类型,以使该警告消失。

于 2012-09-20T23:14:38.503 回答