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个字节以内!
在java中
……
stmt.setString(1, "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
……
如果上面的%超过60个,那么通过stmt.execute()执行后的结果,没有任何值返回!
在60个以内没有问题!在pl/sql中
select *
from table1
where colum like '"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
在这里没有这个限制,但必须要在2000个字节以内!
解决方案 »
- 为什么公司的网页能打开,但是ecplise就无法连接呢!
- JavaSE Swing界面中关于Oracle数据库的问题
- j2se中如何对MenuItem设置监听?
- Java 怎么表示字符STX
- 关于测试的问题(100分)
- 请教一个Unicode的小问题
- 请问setAttribute这个方法是作什么用的?谢谢。
- java或是jsp怎么连接LDAP,并对LDAP数据进行操作,急,在线等~~~~~~分数好说
- 关于Style Report报表工具
- 急。。。在servlet如何连接到oracle(不通过odbc)
- 为什么我做的最后的一个按钮总是窗口大小
- 想朝写代码方向努力,不知道是学C++还学JAVA 行业高手们给我分析一下给点思路吧
既然Pl/sql 运行没有问题,那就说明是stmt.setString()函数的问题。
测试人员要问个问什么?郁闷!