日期:2014-05-18  浏览次数:20499 次

读取ssis环境变量作为sql 语句参数传入执行,失败
读取ssis环境变量作为sql 语句参数传入执行
报错:错误: 0xC002F210,位于 执行 SQL 任务, 执行 SQL 任务: 执行查询“select * from ORecordFiles where FileName=@fName”失败,错误如下:“参数名不被识别。”。失败的原因可能有: 查询本身有问题、未正确设置 "ResultSet" 属性、未正确设置参数或未正确建立连接。
任务失败: 执行 SQL 任务
看了网上2帖子,试了都不行,cnblog帖子 百度空间帖子
大致步骤:
在"变量”-->添加"fname"变量-->"执行sql任务管理器"-->SQLStatement"select * from ORecordFiles where FileName=@fName"或"select * from ORecordFiles where FileName=?"-->参数映射-->User::fname..Input..fname

------解决方案--------------------
不知道你的ConnectionType用的是哪个
如果是ADO.NET的数据源,则写成select * from ORecordFiles where FileName=@fName
如果是OLEDB的数据源,则写成select * from ORecordFiles where FileName=?

然后参数映射设置也很重要。

如果是ADO.NET,则参数名称写成你语句的参数名,如上的@fName
如果是OLEDB,则参数名称按顺序写成0,1,2,... 如上的0