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中转换字符集是否有任何影响?
谢谢。
没有找到相关结果
已邀请:
1 个回复
碉罕城爸
没有正确传递给函数,因此
函数实际上没有任何效果。