请教全动态执行SQL语句问题!
ztwz 2009-05-10 11:00:19 最近写了个小说连载系统,在服务器上安装演示站时出了问题!不知道服务器装了什么IDS,竟然过滤了我的SQL语句还是MSSQL权限不够。。。什么update delete 不能用,只可以执行select 和insert 我那个心情郁闷啊,没办法!所以想到既然在客户端提交的SQL被过滤了!我在服务器端预先留个存储过程来执行!你总不能过滤你自己吧。。。于是乎 找到了sp_executesql
exec sp_executesql N'select * from news'
麻烦的是后面的参数,sp_executesql虽然能动态执行SQL,但是还是我如果直接执行的话,还是会得到过滤后的结果,于是我又想到了HEX编码
把SQL语句变成了 0x115656C656374202A2066726F6D206E657773 这样的HEX编码。。。。这样就成功解决了过滤问题,但是。。。偶傻眼了。
exec sp_executesql 0x115656C656374202A2066726F6D206E657773 肯定是错的。。。请教大牛们,如何在服务器端还原偶的SQL语句,或者说,让服务器把偶的HEX编码后的SQL当成语句执行?