请教关于Jdbc中setString()问题

Hunterdiary 2007-04-04 03:39:33
setString()对于符号是不是有什么特殊的限制呀?

我在java中使用jdbc的接口setString()方法向oracle的存储过程传参数的时候,遇到了一个很奇怪的问题!如果传入的参数中的字符数量(%)超过60个(在60个以内没有问题!),对于在oracle中的sql进行模糊检索(使用like语句),却不能得到任何纪录,但是如果直接在pl/sql developer 中使用没有问题!这是怎么回事呀?大家有没有遇到过呢?

比如:
在java中
……
stmt.setString(1, "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
……
如果上面的%超过60个,那么通过stmt.execute()执行后的结果,没有任何值返回!
在60个以内没有问题!

在pl/sql中
select *
from table1
where colum like '"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
在这里没有这个限制,但必须要在2000个字节以内!
...全文
578 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hunterdiary 2007-04-05
  • 打赏
  • 举报
回复
楼上说的是呀,就是stmt.setString()函数的问题,可是怎么能解释这种现象呢?

我不是做测试的,搞底层开发的!
测试人员要问个问什么?郁闷!
oracs 2007-04-04
  • 打赏
  • 举报
回复
Lz在进行压力测试么?这样做似乎没什么实际意义。
既然Pl/sql 运行没有问题,那就说明是stmt.setString()函数的问题。
For_suzhen 2007-04-04
  • 打赏
  • 举报
回复
楼主搞测试的?要输入这么怪的数据.
不太清楚
左大神在这 2007-04-04
  • 打赏
  • 举报
回复
up

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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