ssis - 没有为一个或多个必需参数提供值

ssis - No value given for one or more required parameters

我正在使用 SSIS 2008。我在 sql 任务编辑器上遇到错误 查询为错误:执行查询 "SELECT SUBSTRING(?, 8, 2) + SUBSTRING(?, 10, 2) +..." 失败,出现以下错误:"No value given for one or more required parameters."。可能失败原因:查询有问题,"ResultSet" 属性设置不正确,参数设置不正确,或者连接没有正确建立。

执行 sql 包含查询的任务

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

我选择了 result_Set 作为 Single_row

使用的参数映射包含字段名称作为 var_name:User::File_Name_update direction:input 数据类型:varchar parameter_name:0 Parameter_size:-1

我添加的结果集是: Result_Name:File_date variable_name:User::File_date

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

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

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

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