我将数据库从一个结构转换为新结构。旧数据库是FoxPro,新数据库是SQL服务器。问题是一些数据在foxpro中保存为char数据,但实际上是外键表。这意味着它们需要在sql中是int类型。问题是当我尝试在SSIS中从任何字符相关类型到整数进行数据转换时,我得到以下错误消息:
输出列" columnName"(24)输出" OLE DB源输出"出现错误(22)。返回的列状态为:"由于可能丢失数据而无法转换该值"。
如何从字符串或字符转换为int而不会丢失潜在的数据错误。我亲自检查了这些值,看起来所有这些值都足够小以适应int数据类型。
答案 0 :(得分:2)
数据来源 - >数据转换任务。
在“数据转换任务”中,单击“配置错误输出”
对于Error and Truncation,将其从Fail Component更改为Redirect Row。
现在你有两条路。良好的数据将以适当的类型流出DCT。坏数据将沿着红色路径下移。用它做点什么。转储到文件,添加数据视图和检查等。
答案 1 :(得分:0)
像34563927342这样的值超过max size for integer。你应该使用Int64 / bigint