ssis - 没有给出一个或多个必需参数的值

时间:2015-06-09 11:26:14

标签: sql-server ssis

我正在使用SSIS 2008.我在SQL任务编辑器上收到错误 查询为错误:执行查询“SELECT SUBSTRING(?,8,2)+ SUBSTRING(?,10,2)+ ...”失败,出现以下错误:“没有给出一个或多个必需参数的值。”。可能的失败原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。

执行包含查询的SQL任务

SELECT SUBSTRING(?,8,2)+ SUBSTRING(?,10,2)+'20'+ SUBSTRING(?,10,2)AS File_Date

我选择了result_Set作为Single_row

使用的参数映射包含字段名称 VAR_NAME:用户:: File_Name_update 方向:输入 数据类型:varchar PARAMETER_NAME:0 Parameter_size:-1

我添加的结果集是: Result_Name:File_date 变量名:用户:: File_date

所以这里我从substring中更新的输入文件名获取文件日期。我知道我在处理上述情况时做错了什么?

2 个答案:

答案 0 :(得分:1)

您需要为该查询映射3个参数。如果您只想映射一个,您可以这样做:

declare @str varchar(max) = ?
SELECT SUBSTRING(@str, 8, 2) + SUBSTRING(@str, 10, 2) + '20' + SUBSTRING(@str, 10, 2) AS File_Date

答案 1 :(得分:-1)

在我的情况下,我的本地机器支持日期格式为' mm-dd',但是当我在服务器中部署它只接受' dd-mm'。所以,我在更改格式后解决了同样的问题。这可以帮助别人。