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

SQL Server Integration Services如何在.dtsConfig生成带当前日期的文件名

SSIS动态生成带日期后缀CSV文件名实现方案

你当前的需求是为平面文件目标生成的CSV文件名末尾追加yyyyMMdd格式的当前日期,原有.dtsConfig配置内容如下:

<Configuration ConfiguredType="Property" Path="\Package.Connections[csv_conf].Properties[ConnectionString]" ValueType="String">
   <ConfiguredValue>C:\Users\Desktop\SSISfacturacion\test.csv</ConfiguredValue>
</Configuration>

可通过以下步骤实现:

实现步骤

  • 第一步:创建动态路径变量
    在SSIS包中新建一个字符串类型的包级变量,命名为DynamicCSVFilePath,为变量添加如下表达式:
    "C:\\Users\\Desktop\\SSISfacturacion\\test-" 
    + (DT_WSTR, 4)YEAR(GETDATE()) 
    + RIGHT("0" + (DT_WSTR, 2)MONTH(GETDATE()), 2) 
    + RIGHT("0" + (DT_WSTR, 2)DAY(GETDATE()), 2) 
    + ".csv"
    
    该表达式会自动拼接当前日期,月份/日期不足两位时自动补0,生成符合要求的文件路径。点击表达式编辑框的「计算」按钮,可直接验证生成的路径是否符合预期。
  • 第二步:绑定平面文件连接管理器属性
    找到你已经创建的csv_conf平面文件连接管理器,右键选择「属性」,在属性面板中找到Expressions选项,点击右侧的省略号按钮打开表达式编辑器:
    • 左侧属性列选择ConnectionString
    • 右侧表达式列选择刚才创建的DynamicCSVFilePath变量
      保存设置后,连接管理器的文件路径会自动跟随变量值动态变化。
  • 第三步:调整dtsConfig配置(可选,保留配置文件修改能力)
    如果你需要保留配置文件修改根路径的能力,不需要每次改路径都修改SSIS包,可以拆分变量:
    1. 新增一个字符串类型变量BaseCSVFolder,专门用来从配置文件取值
    2. 调整DynamicCSVFilePath的表达式为:
      @[User::BaseCSVFolder] + "test-" 
      + (DT_WSTR, 4)YEAR(GETDATE()) 
      + RIGHT("0" + (DT_WSTR, 2)MONTH(GETDATE()), 2) 
      + RIGHT("0" + (DT_WSTR, 2)DAY(GETDATE()), 2) 
      + ".csv"
      
    3. 修改你的.dtsConfig配置内容如下,直接配置根路径即可:
      <Configuration ConfiguredType="Property" Path="\Package.Variables[User::BaseCSVFolder].Properties[Value]" ValueType="String">
         <ConfiguredValue>C:\Users\Desktop\SSISfacturacion\</ConfiguredValue>
      </Configuration>
      

注意事项

  • 表达式中的反斜杠需要双写转义,否则会出现语法错误
  • 部署到生产环境后,需要确认SSIS运行账号对目标文件夹有读写权限

内容的提问来源于stack exchange,提问作者Alessandro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 13:33:02