Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Migrasi Java 11 - createConnectionBuilder() dari PoolDataSourceImpl bentrok dengan createConnectionBuilder() dari javax.sql.DataSource

Ini adalah ketidakcocokan antarmuka. javax.sql.DataSource mendefinisikan metode

default ConnectionBuilder createConnectionBuilder() throws SQLException

Dan sesuai kontrak, nilai pengembalian harus bertipe ConnectionBuilder.

Jika Anda melihat dokumentasi oracle.ucp.jdbc.PoolDataSourceImpl, ini mendefinisikan metode sebagai

public UCPConnectionBuilder createConnectionBuilder()

sedangkan oracle.ucp.jdbc.UCPConnectionBuilder bukan subtipe dari java.sql.ConnectionBuilder .

Sekarang kecuali Oracle merilis versi oracle.ucp.jdbc.UCPConnectionBuilder yang tidak pernah ada antarmuka yang memperluas java.sql.ConnectionBuilder , Anda tidak akan dapat menukar UCP PoolDataSource dengan javax.sql.DataSource .

Rilis terbaru pada saat ini tampaknya UCP 19.3 , yang masih akan mengalami masalah yang sama yang disayangkan karena 19.3 diiklankan sebagai sesuai dengan JDK11. Harap laporkan bug terhadap Oracle UCP untuk membuat pengelola mengetahui pendatang baru createConnectionBuilder di antarmuka DataSource.

Sementara itu, jika memungkinkan, Anda dapat kembali menggunakan 11g rilis 2 UCP (bukan 12, bukan 19) yang tidak memiliki metode createConnectionBuilder pada antarmuka PoolDataSource. Bukan situasi yang ideal, karena Anda menyerah pada peningkatan UCP selama satu dekade dengan kembali ke 11g.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python cx_Oracle menyiapkan pernyataan dengan qmark

  2. ORA-06550:Kesalahan nomor atau jenis argumen saat memanggil fungsi di dalam paket Oracle di ASP.NET

  3. JPA + StoredProcedureCall + parameter tipe objek IN

  4. masalah rownum dalam kueri Oracle

  5. kursor di pemicu