VARCHAR2从JBoss调用Oracle时丢失了内容

真的很奇怪。 我有一个Oracle功能
function highlightDesc(desc IN VARCHAR2, keyword IN VARCHAR2) return VARCHAR2
return 'paragraphtag' || 
       REPLACE(desc, keyword, 'boldtag' || keyword || 'boldtag') || 'paragraphtag';
以这种方式调用它
select a.*, highlightDesc(a.Desc) as highlightedDesc
from tablea a
奇怪的是,当我从sqlplus或plsql开发人员中调用这个sql时,highlightDesc列包含所有正确的标记。 当我从Junit调用它时,我得到了所有正确的标记。 当我从带有oracle瘦驱动程序的jboss(winxp / redhat)上运行的struts2应用程序调用它时, 我得到封闭的paragraphtag标签和内容,但不是boldtag。 那有意义吗? 有什么想法吗? 编辑: 我道歉,我无法从工作中登录到SO。拉姆,我知道。 我使用commons dbutils queryrunner(BeanListHandler)从java类执行sql。 我的操作除了调用我的服务类并设置值之外什么都不做。 我查看了src for queryrunner,它最终调用了一个名为BeanProcessor的类,它通过rs.getString(index)将highlightDesc列作为String获取; 我以为这可能是编码问题???所以我试图改变jvm编码和jboss编码,但它没有效果。 我想我可能会看到在oracle中转换字符集是否有任何影响? 谢谢。     
已邀请:
最有可能的是,
keyword
没有正确传递给函数,因此
REPLACE
函数实际上没有任何效果。     

要回复问题请先登录注册