Tag: sp executionql

如何使Excel从工作表的查询表中可靠地执行sp_executesql?

在MS Excel中,如果使用Microsoft Query创build一个QueryTable,并且您的SQL查询不能通过Microsoft Query进行可视化呈现,则不允许为该查询提供参数。 这是一个耻辱,所以有这个令人敬畏的技术 ,无论如何允许参数: {CALL sp_executesql (N'select top (@a) * from mytable', N'@a int', ?)} 您在ODBC CALL窗体中提供查询,并且它可以使用参数。 除非没有。 在某些计算机上,它完美地工作,在其他计算机上Excel尝试刷新查询表时引发错误: 对于SQL Native Client 10: Invalid parameter number 对于SQL Native Client 11: Procedure or function sp_executesql has too many arguments specified. 使用一个分析器,我可以看到Excel(实际上,当被Excel戳时,本地客户端)在执行sp_executesql之前执行此操作: exec sp_describe_undeclared_parameters N' EXEC sp_executesql N''<actual query>;'',N''<declared parameters>'',@P1 ' 这里@p1是稍后应该转到sp_executesql的参数占位符,这就是sp_describe_undeclared_parameters失败的地方。 它不指望sp_executesql任何自定义参数 – 只有两个固有参数, […]