sql-server - SSIS 错误 "Conversion failed because the data value overflowed the specified type"

标签 sql-server datetime ssis etl script-task

我正在使用 ssis 将文件 txt 解析为 sql server。我使用脚本任务将字符串示例 "20190523100520"(类型:yyyy-MM-dd HH:mm:ss)转换为日期时间(它是表 sql 中的数据类型)。

但是我得到了错误:

[OLE DB Destination [68]] Error: "There was an error with OLE DB Destination.Inputs[OLE DB Destination Input].Columns[NewEffectiveTS_NXX_X] on

OLE DB Destination.Inputs[OLE DB Destination Input]. The column status returned was: "Conversion failed because the data value overflowed the specified type.

在脚本任务中,标记输入和输出,我使用数据库时间戳 [DT_DBTIMESTAMP] 类型的列 [NewEffectiveTS_NXX_X]

大家帮帮我。非常感谢!

最佳答案

要在脚本中将此值转换为日期时间数据类型,您可以使用 DateTime.ParseExact() 函数:

DateTime.ParseExact([Column],"yyyyMMddHHmmss",System.Globalization.CultureInfo.InvariantCulture)

因为字符串值 20190523100520 不能通过将字符串类型的列映射到另一个日期时间类型的列来隐式转换为日期时间。

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

相关文章:

sql - CONCAT'ing NULL 字段

datetime - 将 bootstrap-datetime 选择器与 AngularJS 结合使用

sql-server - SSIS 查找在 varchar 字段上找不到匹配项

sql - 存储过程中的排序规则问题

sql-server - 报表服务器无法处理报表或共享数据集

sql - 使用两个 WHERE 条件从同一个表中选择一列两次 SQL SERVER

javascript - Angularjs 日期时间选择器时区

C# 创建一个代表台湾日期的 DateTime 对象 2 月 29 日 101(闰日)

sql-server - SSIS 包未从服务器运行

powershell - 使用 dtutil 部署 SSIS 包