2012-02-22 72 views
1

新手問題在這裏...我需要選擇一個JDBC驅動程序來將應用程序服務器Java程序連接到另一臺服務器上的Oracle 11G數據庫。兩臺服務器都是Linux CentOS,它們彼此相鄰並通過交叉連接以太網電纜連接。我沒有做Oracle RAC。關於爲Linux應用服務器選擇Oracle JDBC驅動程序

Oracle的網站上列出了可用的選項:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

僅供參考,有一個類似的帖子在這裏:

Which JDBC driver type should I use for accessing an Oracle Database?

我的目標是更具體:中選擇哪一個以下(JDK 1.6)驅動程序?問:這些都是Oracle稱之爲「JDBC Thin」驅動程序(或者是一些OCI「厚」驅動程序)嗎? Q2:這些都是Type 4驅動程序嗎?

Q3:這些都是免費的嗎(假設我已經購買了Oracle 11G數據庫許可證)?

Q4:假設編譯時間不是問題,所有_g.tar文件都不是首選,特別是因爲-g編譯選項(例如,用於調試)可以關閉(例如爲了提高速度用於生產編譯代碼)?或者,當我開始製作時,我應該將驅動程序切換到非_g文件(例如,使用ojdbc.jar替換ojdbc_g.jar)?

問題5:我甚至不確定NLS或Oracle對象和集合類型或DMS引用的內容。任何關於何時支持這些概念的驅動程序都會有用的建議將非常感謝。

回答

2

A1。是。 JDBC Thin。 OCI版本與即時客戶端相關,並且是平臺特定的。

A2。是。這些都是平臺無關的,只是即插即用呵呵。

A3。是。儘管沒有數據庫許可證,您仍可以使用它們。實際上,您同意OTN許可證下載它們:)

A4。 _g在開發時非常有用。否則,留在第一個。 A512。

A5。 NLS是指國際化支持。意味着NLS支持對象和集合的類不存在,但這些類僅用於關於客戶端和數據庫之間的某種數據的非常特定的需求。 DMS是指Dynamic Monitoring Metrics,這些也是非常具體的(不鼓勵在驅動程序的常見使用)

+0

謝謝Alfabravo!在A4之後,如果我使用相同的服務器進行開發和生產,我可以在服務器上同時下載ojdbc6.jar和ojdbc6_g.jar,然後只需更改java代碼以在兩者之間進行選擇?或者,每個服務器只允許一個驅動程序? – ggkmath 2012-02-22 16:25:20

+0

驅動程序只是一個帶有類和東西的JAR,可以建立套接字並通過它傳遞請求。你可以把它們都放在你的web項目或web服務器/容器上,但是隻需在類路徑中引用它們中的一個,以便數據庫連接使用你想要的那個。如果你把它們都包含在你的項目庫中,那麼有可能得到classcastexceptions或類似的東西 – Alfabravo 2012-02-22 16:29:51

+0

是否有可能在java程序中硬編碼jar文件的完整路徑(我假設需要提及jar文件在java程序中配置它使用JDBC)? – ggkmath 2012-02-22 17:12:18