2013-05-03 42 views
0

我正在使用SSIS将数据从CSV文件上传到我的数据库中的表中。我试图让2串(一个是日期,另一个是时间)和CONCAT他们是这样的:SSIS - 创建日期时间的脚本问题

string datsDateTime = String.Concat(Row.DATE, " ", Row.HEURE);  

然后,我尝试分析它是这样的:

Row.DateTime = DateTime.ParseExact(datsDateTime, "dd/MM/yyyy HH:mm", null); 

但它不起作用。当我尝试测试这个脚本,我得到这个错误:

String was not recognized as a valid DateTime. 
    at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style) 
    at ScriptMain.Input0_ProcessInputRow(Input0Buffer Row) 
    at UserComponent.Input0_ProcessInput(Input0Buffer Buffer) 
    at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer) 

我使用Visual Studio 2008的任何想法?

编辑:在我的专栏“日期”,这是我的csv文件,日期为一个字符串,它是这样的:(2012年01月和01天)。

UPDATE:好的,我通过考取任何事情之前做这个
string datsDateTime = Row.DATE.Insert(6,"/").Insert(4, "/") + " " + Row.HEURE; 找到了解决办法。希望它会有所帮助。

回答

1

你或许应该改变格式

Row.FinalDate = DateTime.ParseExact(datsDateTime, "yyyyMMdd HH:mm", null); 

因为你得到的日期在yyyymmdd格式 日期的存储不是stringintegers。如果你想显示DD/MM数据/ yyyy格式那么你可以使用ToString()方法以特定的格式一样

YourDate.ToString("dd/MM/yyyy") 

但因为你在你的数据库中存储的话,它会被存储为整数 检查您的sql服务器中的Dateformat

dbcc useroptions