我正在使用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中更新的输入文件名获取文件日期。我知道我在处理上述情况时做错了什么?
答案 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'。所以,我在更改格式后解决了同样的问题。这可以帮助别人。