请教全动态执行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当成语句执行?
...全文
117 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
duanzhi1984 2009-05-11
  • 打赏
  • 举报
回复
如果是权限的问题,那么你写动态语句一样是不能执行的!


请先确定你的实际问题
sea_apple 2009-05-11
  • 打赏
  • 举报
回复
检查一下权限是否有问题

zxkid 2009-05-11
  • 打赏
  • 举报
回复
不懂 帮顶了
yanleiyigan 2009-05-11
  • 打赏
  • 举报
回复
如果是权限问题,任何形势的sql都是不行的,建议check下服务器
wg961423 2009-05-11
  • 打赏
  • 举报
回复
自己写过程,把HEX串还原后,再在这个过程里执行。
JonasFeng 2009-05-11
  • 打赏
  • 举报
回复
楼主直接把HEX串发送到后台程序接受就可以了。

建议楼主还是直接找找原因,这样更快。
ai_li7758521 2009-05-10
  • 打赏
  • 举报
回复
看IDS中能不能设置
-狙击手- 2009-05-10
  • 打赏
  • 举报
回复
自定义过程呀

把你的那个hex串发到后台的过程中呀,
Andy__Huang 2009-05-10
  • 打赏
  • 举报
回复
1.你先了解IDS是起什么作用的?
2.使用mssql的事件探查器跟踪一下,当sql语句提交时,到底提交语句的是什么代码?然后把这个代码在查询分析器里测试运行是否通过?
3.检查一下权限的是否有问题?
ai_li7758521 2009-05-10
  • 打赏
  • 举报
回复
关注

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧