我在 SSIS 包的错误处理程序部分中有一个执行 SQL 任务对象。它的作用是使用 OLE DB 连接向表中插入一条记录。插入语句中有一个值应该来自用户变量。
当我尝试传递查询时,我收到以下错误,我搜索了很多互联网并尝试了不同的东西,但仍然收到错误消息:
“查询解析失败。参数信息无法从 SQL 语句中导出。在准备命令之前设置参数信息。”
我为 SQLStatement 设置的是:
INSERT INTO ErrorLog(ErrorDateTime, ErrorDescription) VALUES(GETDATE(),?)
我在任务的参数映射部分有什么:
SQLSourceType 是“直接输入”,由于此查询没有结果,因此 ResultSet 已设置为“无”。
目标表中的 ErrorDescription 列是 varchar(max)。
知道如何解决这个问题吗?
您是否真的尝试过执行包,或者您只是想解析查询?
尝试使用参数解析 OLE DB 查询将失败,并出现您描述的错误。如果使用 OLE DB,请不要解析查询。
我已经创建了您的任务并进行了测试。它执行得很好,但是如果您单击“解析查询”,它会返回与您得到的相同的错误。