日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb

發(fā)布時(shí)間:2025/4/16 java 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java 操作多類型數(shù)據(jù)庫下的兼容性驗(yàn)證

  • 第一章:數(shù)據(jù)庫測(cè)試
  • ①【 oracle 數(shù)據(jù)庫不支持分號(hào)】ORA-00933: SQL 命令未正確結(jié)束
  • ② 【sqlserver 數(shù)據(jù)庫不支持 commit】COMMIT TRANSACTION 請(qǐng)求沒有對(duì)應(yīng)的 BEGIN TRANSACTION
  • ③ 【DB2 數(shù)據(jù)庫不支持分號(hào)】SQLSTATE=42601, SQLERRMC=;;de = '報(bào)表合并體系1';END-OF-STATEMENT
  • ④ 【kingbase 人大金倉數(shù)據(jù)庫沒問題】
  • ⑤ 【DM 達(dá)夢(mèng)數(shù)據(jù)庫沒問題】
  • ⑥ 【PG、瀚高數(shù)據(jù)庫沒問題】
  • ⑦ 【polardb 數(shù)據(jù)庫沒問題】
  • 第二章:測(cè)試環(huán)境
  • ① 測(cè)試 sql 語句
  • ② 測(cè)試代碼塊
  • ③ 測(cè)試驅(qū)動(dòng)和 JDK 版本

第一章:數(shù)據(jù)庫測(cè)試

①【 oracle 數(shù)據(jù)庫不支持分號(hào)】ORA-00933: SQL 命令未正確結(jié)束


報(bào)錯(cuò):OriginalSql = delete from org_reportcombinestru where code = '報(bào)表合并體系2';, Error Msg = ORA-00933: SQL 命令未正確結(jié)束

java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正確結(jié)束at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550)at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268)at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:229)at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:41)at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:928)at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1205)at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1747)at oracle.jdbc.driver.OracleStatement.executeLargeUpdate(OracleStatement.java:1712)at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1699)at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:285)at com.dbmanage.db.DBUpdate.getRs(DBUpdate.java:21)at com.dbmanage.db.DBMain.update_sql(DBMain.java:57)at com.dbmanage.db.ReadFile.getFileContent(ReadFile.java:28)at com.dbmanage.db.ReadClipboard.lostOwnership(ReadClipboard.java:87)at sun.awt.datatransfer.SunClipboard.lostOwnershipNow(SunClipboard.java:313)at sun.awt.datatransfer.SunClipboard.lambda$lostOwnershipLater$0(SunClipboard.java:283)at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)at java.awt.EventQueue.access$500(EventQueue.java:97)at java.awt.EventQueue$3.run(EventQueue.java:709)at java.awt.EventQueue$3.run(EventQueue.java:703)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: Error : 933, Position : 68, Sql = delete from org_reportcombinestru where code = '報(bào)表合并體系1';, OriginalSql = delete from org_reportcombinestru where code = '報(bào)表合并體系1';, Error Msg = ORA-00933: SQL 命令未正確結(jié)束at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)... 33 more

② 【sqlserver 數(shù)據(jù)庫不支持 commit】COMMIT TRANSACTION 請(qǐng)求沒有對(duì)應(yīng)的 BEGIN TRANSACTION

sqlservser 數(shù)據(jù)庫測(cè)試

報(bào)錯(cuò):com.microsoft.sqlserver.jdbc.SQLServerException: COMMIT TRANSACTION 請(qǐng)求沒有對(duì)應(yīng)的 BEGIN TRANSACTION

com.microsoft.sqlserver.jdbc.SQLServerException: COMMIT TRANSACTION 請(qǐng)求沒有對(duì)應(yīng)的 BEGIN TRANSACTION。at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:254)at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1608)at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:859)at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:759)at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7240)at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2869)at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:243)at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:218)at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeUpdate(SQLServerStatement.java:706)at com.dbmanage.db.DBUpdate.getRs(DBUpdate.java:21)at com.dbmanage.db.DBMain.update_sql(DBMain.java:87)at com.dbmanage.db.ReadFile.getFileContent(ReadFile.java:28)at com.dbmanage.db.ReadClipboard.lostOwnership(ReadClipboard.java:87)at sun.awt.datatransfer.SunClipboard.lostOwnershipNow(SunClipboard.java:313)at sun.awt.datatransfer.SunClipboard.lambda$lostOwnershipLater$0(SunClipboard.java:283)at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)at java.awt.EventQueue.access$500(EventQueue.java:97)at java.awt.EventQueue$3.run(EventQueue.java:709)at java.awt.EventQueue$3.run(EventQueue.java:703)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

③ 【DB2 數(shù)據(jù)庫不支持分號(hào)】SQLSTATE=42601, SQLERRMC=;;de = ‘報(bào)表合并體系1’;END-OF-STATEMENT

db2 數(shù)據(jù)庫測(cè)試

報(bào)錯(cuò):com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;de = '報(bào)表合并體系1';END-OF-STATEMENT, DRIVER=4.19.49

com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;de = '報(bào)表合并體系1';END-OF-STATEMENT, DRIVER=4.19.49at com.ibm.db2.jcc.am.kd.a(Unknown Source)at com.ibm.db2.jcc.am.kd.a(Unknown Source)at com.ibm.db2.jcc.am.kd.a(Unknown Source)at com.ibm.db2.jcc.am.fp.c(Unknown Source)at com.ibm.db2.jcc.am.fp.d(Unknown Source)at com.ibm.db2.jcc.am.fp.b(Unknown Source)at com.ibm.db2.jcc.t4.bb.i(Unknown Source)at com.ibm.db2.jcc.t4.bb.c(Unknown Source)at com.ibm.db2.jcc.t4.p.b(Unknown Source)at com.ibm.db2.jcc.t4.vb.h(Unknown Source)at com.ibm.db2.jcc.am.fp.jb(Unknown Source)at com.ibm.db2.jcc.am.fp.a(Unknown Source)at com.ibm.db2.jcc.am.fp.c(Unknown Source)at com.ibm.db2.jcc.am.fp.executeUpdate(Unknown Source)at com.dbmanage.db.DBUpdate.getRs(DBUpdate.java:21)at com.dbmanage.db.DBMain.update_sql(DBMain.java:88)at com.dbmanage.db.ReadFile.getFileContent(ReadFile.java:28)at com.dbmanage.db.ReadClipboard.lostOwnership(ReadClipboard.java:87)at sun.awt.datatransfer.SunClipboard.lostOwnershipNow(SunClipboard.java:313)at sun.awt.datatransfer.SunClipboard.lambda$lostOwnershipLater$0(SunClipboard.java:283)at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)at java.awt.EventQueue.access$500(EventQueue.java:97)at java.awt.EventQueue$3.run(EventQueue.java:709)at java.awt.EventQueue$3.run(EventQueue.java:703)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

④ 【kingbase 人大金倉數(shù)據(jù)庫沒問題】

⑤ 【DM 達(dá)夢(mèng)數(shù)據(jù)庫沒問題】

⑥ 【PG、瀚高數(shù)據(jù)庫沒問題】

⑦ 【polardb 數(shù)據(jù)庫沒問題】

第二章:測(cè)試環(huán)境

① 測(cè)試 sql 語句

形式如下面的語句以及在此基礎(chǔ)上的嵌套 sql 語句:

insert into org_xxx (a, b, c, ...) values (a1, b1, c1, ...); commit; delete from org_xxx where code = 'xxx'; commit; update org_xxx set name = "xxx" where code = 'xxx'; commit;

② 測(cè)試代碼塊

外部調(diào)用下面的代碼來執(zhí)行。

import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement;public class DBUpdate {public static int getRs(Connection conn, String sql) {/*作用:插入、更新、刪除數(shù)據(jù)庫返回:影響的行數(shù):0代表無影響*/Statement st = null;int rs = 0;try {// statement對(duì)象用于執(zhí)行sql語句st = conn.createStatement();// 執(zhí)行sql語句,成功返回修改行數(shù),不成功返回0rs = st.executeUpdate(sql);}catch(SQLException e){e.printStackTrace();}catch (Exception e){e.printStackTrace();}return rs;} }

③ 測(cè)試驅(qū)動(dòng)和 JDK 版本

由于有些驅(qū)動(dòng)沒有現(xiàn)成的數(shù)據(jù)庫,未進(jìn)行測(cè)試,如:mysql、高斯。

喜歡的點(diǎn)個(gè)贊?吧!

總結(jié)

以上是生活随笔為你收集整理的Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。