我有CSV文件
**date column**
06/04/1999
06/04/2000
.
.
.06/04/2017
我只是使用SSIS将此文件从Csv文件加载到数据库表
平面文件源到OLEDB目标
其中date列绝对是DT_STR,SQL表日期列是varchar(50)
但是当我加载时,它的行为会有所不同
**date column**
06/04/1999
06/04/2000
和其他一些时间一样
**date column**
1999-04-06
2000-04-06
我只是想尝试加载平面文件中的相同内容,但为什么它有时会给出“ - ” . 任何人都可以建议我为什么每次都表现不同 . 它在SSIS中没有任何转换(如派生列)
1 回答
You have to convert these values to DateTime then to String with desired format yyyy-MM-dd using a ScriptComponent Transformation
创建
Flat File connection manager
和OLEDB Connection Manager
(来源和目的地)添加
DataFlow Task
在
DataFlow Task
添加Flat File Source
,Script Component
,OLEDB Destination
您的DataFlow应该看起来像
Source --> Script --> Destination
在脚本组件中将时间列标记为输入(假设其名称为
inDateColumn
)并添加字符串DT_STR
的输出列(例如:OutDateColumn
)在脚本中编写以下代码:(使用Vb.net)
OutDateColumn
映射到目标列