在 SSIS 中将字符串转换为整数

Convert from string to int in SSIS

我正在将数据库从一种结构转换为一种新结构。旧数据库是 FoxPro,新数据库是 SQL 服务器。问题是有些数据在 foxpro 中保存为 char 数据,但实际上是外键表。这意味着它们需要是 sql 中的 int 类型。问题是当我尝试在 SSIS 中将任何字符相关类型的数据转换为整数时,我得到以下错误消息:

输出 "OLE DB Source Output" (22) 的输出列 "columnName"(24) 出错。返回的列状态为:"The value could not be converted because of potential loss of data".

如何从字符串或字符转换为 int 而不会出现潜在的数据丢失错误。我亲手检查了这些值,看起来它们都足够小以适合 int 数据类型。

数据源->数据转换任务。

在数据转换任务中,点击配置错误输出

对于错误和截断,将其从失败组件更改为重定向行。

现在你有两条路。良好的数据将以适当的类型流出 DCT。坏数据会沿着红色路径走下去。用它做点什么。转储到文件,添加数据视图和检查等

34563927342 这样的值超过了 max size for integer。你应该使用 Int64 / bigint