sql-server - "Conversion failed because the data value overflowed the specified type"错误仅适用于同一个表的一列

标签 sql-server date ssis sql-server-2012 data-conversion

我正在尝试将数据从数据库访问文件导入到 SQL Server。为此,我通过 SQL Server 导入/导出向导创建了 SSIS 包。当我通过执行包实用程序执行包并选中“验证而不执行”选项时,所有表都已通过验证。然而,在执行过程中,我收到了以下错误 block (使用图片,因为 block 引用占用了大量空间):

Errors

经过调查,我准确地找到了导致问题的表和列。然而,这是我几天来一直试图解决的问题,而且我已经没有可能的选择了。

问题表列的结构

从错误列表中可以看出,问题出现在 RHF Repairs 表的 Returned Date 列中。在 Access 中,相关列是日期/时间类型。在实际表格中,所有输入均采用“mmddyy”形式,单击时会变成“mm/dd/yyyy”格式:

Input for March 8, 2004

在SSIS包中,它创建了OLEDB源/目标关系,如下所示:

Relationship in SSIS

在这个关系中,输出列和外部列的数据类型都是DT_DATE(我仍然认为这是导致我的问题的关键原因)。最让我烦恼的是,与“返回日期”列相邻的列与我上面描述的完全相同,并且没有任何错误应用于它或相同类型的任何其他列,“返回日期”实际上是该列中唯一的害群之马。羊群。

我尝试了什么

我已经尝试了以下 thread 中的每个选项,错误保持不变。

我尝试了数据转换选项,尝试将此列转换为日期戳甚至 unicode 字符串。没成功。

Data Conversion

我尝试使用高级源代码编辑器将数据类型指定为日期戳/unicode 字符串。我尝试仅在输出列中指定它,在外部列和输出列中都尝试过,结果相同。

浏览访问表中的数据也没有给我任何东西。它们全部都使用相同的 6 字符格式。

此时,我几乎用尽了所有我能想到的选择。 您能否为我指出正确的方向,告诉我我还可以尝试解决什么问题,因为过去两天它让我发疯。

PS:就我而言,我将单独浏览每一行,同时不会因为有 4000 多个行条目而气馁......

更新:

我通过研究数据解决了这个问题。 4000 多行中有 3 个错误条目...由于问题的解决方式不太可能帮助其他人,因此请关闭该问题。

最佳答案

在我看来,您的专栏中有一个或多个糟糕的日期。对于 4,000 行,我实际上会目视扫描并寻找非常短或非常长的内容。

您可以将来源更改为选择前 1 个而不是全部 4,000 个。那些插入吗?如果是这样,那就会加剧糟糕的约会场景。如果有 1 行没有流过,那就是另一个问题了。

关于sql-server - "Conversion failed because the data value overflowed the specified type"错误仅适用于同一个表的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40349213/

相关文章:

sql-server - 在预期条件 SSRS 的上下文中指定的非 bool 类型的表达式

sql-server - 使用 SSIS 派生列转换检索最后一个反斜杠之后的文本

html - 微数据的多个时间元素

sql-server - 将查询结果导出到 Excel Microsoft SQL Server 2012 时找不到源数据类型 "200"错误

sql-server - 将数据从 Microsoft SQL Server 读取到 R 中

javascript - 两个相同的 JavaScript 日期不相等

Swift:ISO 8601 日期从星期到年份

mysql - SSIS - 从MySql到MsSql的数据有些字符是什么?

sql-server - SSIS包: convert between unicode and non-unicode string data types

SQL 插入取决于列是否存在