2010-05-24 7 views
15

Quando si sviluppa un'applicazione Java che comunica con DB oracle, ci sono 2 opzioni giusto? Uno è il driver oracle thin e l'altro è driver OCI che richiede una sua installazione (correggere se si tratta di un fraintendimento).Driver Oracle sottile vs driver OCI. Pro e contro?

Ora, quali sono i pro e i contro? Ovviamente il driver sottile suona molto meglio in termini di installazione, ma c'è qualcosa che OCI può e quello sottile non può?

Sviluppare ambiente è Tomcat6 + Primavera 3.0 + JPA (Hibernate) + apache-DBCP

risposta

5

La scelta del driver dipende da diversi fattori. La natura delle chiamate al database (ad esempio, sembra che la tua app non utilizzi molte chiamate proc memorizzate), i requisiti per il failover (ad esempio i server Oracle in cluster) e le transazioni distribuite. In genere si consiglia di utilizzare il driver sottile, ma se ci sono alcune funzionalità specifiche del driver OCI che è necessario avere, è necessario considerare il driver OCI. È stato anche detto che i driver in Oracle 10 e versioni successive hanno funzionalità di abbinamento e non vi sono praticamente differenze di prestazioni sulle JVM moderne.

4

A meno che non si abbia una dipendenza da una funzionalità che è disponibile solo nel driver JDBC-OCI e non nel driver JDBC-thin, la raccomandazione da Oracle è quella di utilizzare thin. Le più recenti funzionalità del database Oracle come Transaction Guard o Application Continuity sono disponibili solo nel driver JDBC-thin. Il driver sottile è anche più utilizzato del driver JDBC-OCI, quindi i bug verranno corretti più rapidamente. È considerato più stabile. Se non sei ancora convinto, pensa che Oracle Weblogic Server sia fornito solo con il driver JDBC-thin.