六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 79|回复: 0

ORACLE语句在Java代码中执行时报错:ORA-00911: 无效字符

[复制链接]

升级  66.67%

40

主题

40

主题

40

主题

秀才

Rank: 2

积分
150
 楼主| 发表于 2013-1-13 19:01:05 | 显示全部楼层 |阅读模式
 
<!-- 根据指定的信息包递归查询所有子信息包 -->    <sql-query name="queryChildInfoPacks">    <!-- DB2 -->    <!--    <![CDATA[    with temptab(pack_id, seq, name, eff_Date, exp_date, pack_level, parent_pack_id, sts, mean) as(  select pack_id, seq, name, eff_Date, exp_date, pack_level, parent_pack_id, sts, mean  from info_pack  where pack_id=:aaa  union all  select son.pack_id pack_id, son.seq seq, son.name name, son.eff_Date eff_date, son.exp_date exp_date,   son.pack_level pack_level, son.parent_pack_id parent_pack_id, son.sts sts, son.mean mean  from info_pack son ,temptab parent  where son.parent_pack_id = parent.pack_id) select {a.*} from temptab a;    ]]>    -->        <!-- ORACLE -->    <![CDATA[    select {a.*} from info_pack a start with a.parent_pack_id=:aaa     connect by prior a.pack_id=a.parent_pack_id    ]]><return alias="a" class="cn.com.samueli.cuv.pojos.InfoPack"/>    </sql-query> 
问题描述:
      上面的代码是在实际应用递归查询时,配置在Hibernate的POJO配置文件中的一个查询,DB2没有问题,而ORACLE语句在Java代码中执行时报错:ORA-00911: 无效字符?
原因分析:
      原因是在针对Oracle的SQL语句末尾加上了分号的缘故,去掉就OK了。对于DB2中不存在这个问题。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表