You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSIS SQL Execute Task存储变量报错:不支持的结果集绑定数据类型

解决SSIS读取Excel日期到变量的类型不兼容问题

执行SQL任务查询Excel表的最新日期,语句为:

select max([update_date]) as newestdate 
from [Sheet1$]

将结果绑定到User::newdate(datetime类型)变量时,报错:

Unsupported data type on result set binding newestdate

解决方案

1. 强制转换查询结果的类型

修改SQL语句,显式将聚合后的日期转换为datetime类型,确保SSIS能识别:

SELECT CAST(MAX([update_date]) AS DATETIME) AS newestdate FROM [Sheet1$]

如果使用旧版Excel驱动,也可以尝试CONVERT函数:

SELECT CONVERT(DATETIME, MAX([update_date])) AS newestdate FROM [Sheet1$]

2. 调整Excel连接管理器属性

  • 打开Excel连接管理器的属性,编辑Extended Properties,添加IMEX=1参数,帮助驱动正确识别列类型:
    Excel 12.0 Xml;HDR=YES;IMEX=1;
    
  • 修改后右键点击数据源,选择刷新,重新加载元数据。

3. 用字符串变量中转

  • 将User::newdate的类型改为String,执行SQL任务绑定结果到该变量。
  • 在后续需要使用日期的步骤中,用表达式转换为datetime类型:
    (DT_DBTIMESTAMP)@[User::newdate]
    

4. 验证Excel列的一致性

  • 打开Excel文件,选中update_date整列,设置为短日期格式,确保所有单元格都是纯日期类型,没有混合文本格式的日期值。保存文件后重新运行SSIS包。

内容的提问来源于stack exchange,提问作者Nikola Paveljić

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:31:16