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) {Statement st
= null;int rs
= 0;try {st
= conn
.createStatement
();rs
= 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ò),歡迎將生活随笔推薦給好友。