我刚开始使用SSIS2008,目前正在将数据从旧的Advantage数据库迁移到SQL Server2005。我设置了带有数据流对象的SSIS包,该对象具有源和目标。复制大多数列的效果很好,但是当我尝试将Advantage Timestamp列复制到DateTime字段时,我得到了许多错误。我相信它们都是溢出错误,这在Advantage存储时间戳信息的方式中是可以理解的。我的问题是,在SQL Server2005中,将此列转换为正确的日期时间字段的最佳方法是什么?
考虑了一下,我觉得我可以将Advantage TimeStamp列复制到varchar列中,然后运行一个sql脚本来为我执行转换。我想知道是否有更优雅的方法,或者这类问题的正常解决方案是什么。
感谢您的帮助和建议!
发布于 2011-01-14 03:04:53
在数据流中,可以使用派生列转换,可以尝试将优势时间戳转换为SQL Server DATETIME (DT_DBTIMESTAMP)数据类型(请注意,这不是SQL Server时间戳数据类型)。在派生列转换中,添加新列并输入以下表达式以转换数据类型。
(DT_DBTIMESTAMP) [MyDate]如果此操作失败,则可以将类型转换为字符串(DT_STR,<>,<>),然后使用字符串函数操作该字符串,然后在单个表达式中将其类型转换为DT_DBTIMESTAMP。
(DT_DBTIMESTAMP) (...string functions...(DT_STR, 20, 1252)[MyDate])发布于 2011-02-02 21:31:52
Timestamp是一种数据类型,与日期或时间数据无关。
https://stackoverflow.com/questions/4683985
复制相似问题