sql >> Databáze >  >> RDS >> Oracle

Migrace Java 11 – createConnectionBuilder() z PoolDataSourceImpl se střetává s createConnectionBuilder() z javax.sql.DataSource

Toto je nekompatibilita rozhraní. javax.sql.DataSource definuje metodu

default ConnectionBuilder createConnectionBuilder() throws SQLException

A podle smlouvy návratová hodnota vyžaduje, aby byla typu ConnectionBuilder.

Pokud se podíváte na dokumentaci oracle.ucp.jdbc.PoolDataSourceImpl, definuje metodu jako

public UCPConnectionBuilder createConnectionBuilder()

zatímco oracle.ucp.jdbc.UCPConnectionBuilder není podtypem java.sql.ConnectionBuilder .

Nyní, pokud Oracle nevydá nikdy verzi oracle.ucp.jdbc.UCPConnectionBuilder rozhraní, které rozšiřuje java.sql.ConnectionBuilder , nebudete moci zaměnit UCP PoolDataSource s javax.sql.DataSource .

Zdá se, že nejnovější vydání v tomto okamžiku je UCP 19.3 , který by stále narážel na stejný problém, což je nešťastné, protože 19.3 je inzerováno jako kompatibilní s JDK11. Nahlaste prosím chybu proti Oracle UCP, aby správci byli informováni o novém účastníku createConnectionBuilder v rozhraní DataSource.

V rámci toho, pokud je to možné, můžete se vrátit k použití 11g vydání 2 UCP (ne 12, ne 19), které nemá metodu createConnectionBuilder na rozhraní PoolDataSource. Není to ideální situace, protože se vzdáváte desetiletých vylepšení UCP tím, že se vrátíte k 11g.



  1. Jak se mohu připojit k databázi Oracle z Ant pomocí tnsname?

  2. Zrychlení perl DBI fetchrow_hashref

  3. Jak přehledněji zobrazit data tabulky v oracle sqlplus

  4. MYSQL Převést časové razítko na měsíc