使用SSIS查找组件将SQL日期列转换为DT_WSTR而不是DT_DBDATE

时间:2016-03-03 16:11:35

标签: sql-server date ssis type-conversion

我使用视图作为SSIS中查找转换的基础。

在我看来,我有几列DATE数据类型。

ALTER VIEW [dbo].[vCampaign] AS 
SELECT 
       CampaignID
      ,CAST([startDate] AS DATE) AS [CampaignStartDate]
      ,CAST([endDate] AS DATE) [CampaignEndDate]
      ,CAST([expirationDate] AS DATE) AS [CampaignExpirationDate]
  FROM campaigns
GO

我的问题是那些日期在我的查找输出列中显示为DT_WSTR而不是DT_DBDATE。当我使用DATETIME而不是DATE时,我得到的DT_DBTIMESTAMP更接近我想要的。我试图放弃必须使用派生列进行这种简单的数据转换,我是否遗漏了一些可以使其工作的东西?

最佳,

Tribe84

2 个答案:

答案 0 :(得分:0)

右键单击查找并选择“显示高级编辑器”。

转到Input and Output Properties并将日期列的数据类型指定为DT_DBDATE

答案 1 :(得分:0)

我有同样的问题,我修复了它从我的共享连接更改OLE DB提供程序。 当我选择“Microsoft OLE DB Provider for SQL Server”时,查找组件在我的SQL SERVER 2014数据库中标识了日期列,如DT_WSTR。我将OLE DB提供程序更改为“SQL Native Client 11.0”,问题已解决。