ssis - 对一个或多个所需参数没有给出值
我正在使用SSIS 2008.我在sql任务编辑器 上收到错误查询为错误:执行查询“SELECT SUBSTRING(?,8,2)+ SUBSTRING( ?,10,2)+ ...“失败,出现以下错误:”没有给出一个或多个必需参数的值“。可能的失败原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。ssis - 对一个或多个所需参数没有给出值
执行包含查询
SELECT SUBSTRING SQL任务(?,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.May文件的日期我知道我在做什么处理上述情况错误?
您需要映射该查询的3个参数。如果你想映射只有一个,你可以这样做:
declare @str varchar(max) = ?
SELECT SUBSTRING(@str, 8, 2) + SUBSTRING(@str, 10, 2) + '20' + SUBSTRING(@str, 10, 2) AS File_Date
取决于你可能需要分离declare和set语句的sql server版本。我非常肯定,你可以在2008年开始合并声明,但2005年将要求声明被拆分。 – SFrejofsky
就我而言,我的本地机器支持的日期格式为“MM-DD”,但是当我在服务器上部署它仅接受“DD-毫米”。所以,我在更改格式后解决了同样的问题。这可以帮助某人。
从你列出的你有三个参数,但你只映射其中之一。 – SFrejofsky
不,在这里,我用'+'作为单行的连接...纠正我,我错了 – user2941762
如果那些是超过一行或三行,无所谓。在编译器的眼中,你已经声明了3个独立和未连接的变量。由于oledb连接使用基于索引的参数映射,即使它们具有相同的值,您也必须明确映射变量的每个实例。 – SFrejofsky