獲取序列ID時出現(xiàn)的異常,檢查oracle數(shù)據(jù)庫表ID字段類型是否為NUMBER類型。如果是long修改為number即可。
有關number類型:http://www.blogjava.net/caojianhua/archive/2011/01/24/343461.html
嚴重: null
java.sql.SQLException: ORA-22816: RETURNING 子句不支持的功能
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:947)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3462)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1061)
at org.iie.dao.impl.OracleGenelDaoImpl.insertDataReturnKeyByReturnInto(OracleGenelDaoImpl.java:160)
at org.iie.dao.impl.OracleGenelDaoImpl.main(OracleGenelDaoImpl.java:148)
順便貼出獲取序列號的方法:
目前累計服務客戶上1000+,積累了豐富的產(chǎn)品開發(fā)及服務經(jīng)驗。以網(wǎng)站設計水平和技術實力,樹立企業(yè)形象,為客戶提供
網(wǎng)站設計制作、網(wǎng)站設計、網(wǎng)站策劃、網(wǎng)頁設計、網(wǎng)絡營銷、VI設計、
網(wǎng)站改版、漏洞修補等服務。
成都創(chuàng)新互聯(lián)始終以務實、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領先技術的掌握、對創(chuàng)意設計的研究、對客戶形象的視覺傳遞、對應用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。public static int insertDataReturnKeyByReturnInto() throws Exception {
Connection conn = GlobalData.getOracleConnection();
String vsql = "insert into xx(id) values(xx_squencee.nextval) returning id into :1";
OraclePreparedStatement pstmt = (OraclePreparedStatement) conn.prepareStatement(vsql);
pstmt.registerReturnParameter(1, Types.BIGINT);
pstmt.executeUpdate();
ResultSet rs = pstmt.getReturnResultSet();
rs.next();
int id = rs.getInt(1);
rs.close();
pstmt.close();
System.out.print("id:" + id);
return id;
}
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享文章:ORACLE異常:RETURNING子句不支持的功能-創(chuàng)新互聯(lián)
本文URL:
http://weahome.cn/article/iiiij.html