在ibatis的sql配置文件中,如果是單獨的sql語句,就是不是過程的情況下,寫的sql語句是不能使用分號做結(jié)尾的,不然程序運行的時候會報
ora-00911: 無效字符
?
例如:
<select id="selectJobs" resultClass="com.tc.fts.ibatis.model.DbaJobs" parameterClass="String"> <![CDATA[ select t.JOB,t.LAST_DATE,t.THIS_DATE,t.NEXT_DATE,t.TOTAL_TIME,t.interval,t.FAILURES,t.WHAT from sys.dba_jobs t where t.LOG_USER='CTXSYS' and t.WHAT like '%$indexname$%'; ]]> </select>
?就是因為最后加了一個分號會報錯。
?
如果是過程或者程序片段就可以
<insert id="createJob" parameterClass="java.util.HashMap"> <![CDATA[ variable jobno number; begin DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''$indexname$'',''$memory$'');', SYSDATE, '$interval$'); commit; END; ]]> </insert>
?
?
具體的原因就是因為?? “Oracle數(shù)據(jù)庫接口對書寫格式要求非常嚴格,有時候即使多加一個空格,多加一個逗號,分號,回車等都不行”。
?
常使用pl/sql developer的同志們都喜歡在sql語句的最后加一個分號,代表語句結(jié)束,但是用JDBC執(zhí)行的時候會報錯哦,希望大家注意。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
