Sql server 使用SSIS在SQL server 2012中加载日期时间列

Sql server 使用SSIS在SQL server 2012中加载日期时间列,sql-server,sql-server-2008,datetime,ssis,Sql Server,Sql Server 2008,Datetime,Ssis,我希望将事务文件从平面文件加载到数据库。该文件包含datetime列,该列显示为“20160307092701”,我希望使用SSIS在数据库中显示为“2016-03-07-09-27:01” 我选择将数据库列设置为smalldatetime,并在源文件上进行转换,然后将其转换为DT_DBTIME,但当我将数据加载到SQL server时,它显示空值。我尝试了SSIS中所有可能的日期选项,但仍然显示空值 检查SQL server中的错误: 您显示的格式不能使用smalldatetime,因为它不是

我希望将事务文件从平面文件加载到数据库。该文件包含datetime列,该列显示为“20160307092701”,我希望使用SSIS在数据库中显示为“2016-03-07-09-27:01”

我选择将数据库列设置为smalldatetime,并在源文件上进行转换,然后将其转换为DT_DBTIME,但当我将数据加载到SQL server时,它显示空值。我尝试了SSIS中所有可能的日期选项,但仍然显示空值

检查SQL server中的错误:


您显示的格式不能使用
smalldatetime
,因为它不是您在目标表上选择的数据类型的格式。目标日期格式类似于
2016-03-07 09:27:00
,但如果希望将其设置为
2016-03-07-09-27:01
,则必须将其作为字符串存储在表中


此外,输入值返回NULL,因为SSI无法将该格式转换为日期。在将值发送到目的地之前,必须使用某种类型的表达式或脚本任务,以便将该值解析为所需的最终格式。

所需的格式不能使用
smalldatetime
,因为它不是您在目的地表上选择的数据类型的格式。目标日期格式类似于
2016-03-07 09:27:00
,但如果希望将其设置为
2016-03-07-09-27:01
,则必须将其作为字符串存储在表中


此外,输入值返回NULL,因为SSI无法将该格式转换为日期。在将该值发送到目的地之前,您必须使用某种表达式或脚本任务,以便将该值解析为所需的最终格式。

Hi Shawn,谢谢您的帮助。我已经使用scrip组件尝试将字符串类型转换为datetime。但我在阅读转换时仍然遇到了错误。代码为Convert.ToDateTime(Row.TransactionDate);我可能是错的,如果你加上你尝试过的和你得到的任何错误信息,我们可以提供更多的帮助。嗨,肖恩,谢谢你的帮助。我已经使用scrip组件尝试将字符串类型转换为datetime。但我在阅读转换时仍然遇到了错误。代码为Convert.ToDateTime(Row.TransactionDate);如果您添加您尝试过的内容和获得的任何错误信息,我可能会出错。我们可以提供更多帮助。也许您需要
2016-03-07 09:27:01
?如果您希望这样
2016-03-07-09-27:01
列数据类型必须是
nvarchar
。您可能需要
2016-03-07 09:27:01
?如果您希望这样
2016-03-07-09-27:01
列数据类型必须是
nvarchar