2011-06-19 71 views
0

爲什麼我們不能在Web應用程序開發中使用JDBC Type 1(JDBC-ODBC Bridge驅動程序)和type 2驅動程序。JDBC驅動程序類型1和2

這兩個驅動程序需要一些客戶端安裝。

我很困惑客戶端,因爲當我們在服務器中安裝所有驅動程序特定的東西時,客戶端需要額外的東西。

回答

2

不建議在生產應用程序中使用類型I JDBC-ODBC橋驅動程序。這是一個Java 1.0工件,允許通過ODBC直接互連進行開發,僅此而已。

類型II JDBC驅動程序需要本機代碼才能工作。它爲您的特定關係數據庫使用客戶端本機庫。您必須能夠使用LD_LIBRARY_PATH或其他一些環境變量指向這些庫。

您需要一個IV型JDBC驅動程序,它是100%純Java,不需要客戶端安裝。您所需要的只是CLASSPATH中的JAR文件。

+0

類型4是你想要的類型驅動程序,如果可能的話。 –

2

爲什麼我們不能在Web應用程序開發中使用JDBC Type 1(JDBC-ODBC Bridge驅動程序)和type 2驅動程序。

沒有什麼可以阻止任何人在Web應用程序中使用Type 1和2驅動程序。但不建議(見第三段)。

類型1和類型2驅動程序不能跨平​​臺移植。雖然這可能乍一看似乎不是問題,但它肯定是。特別是如果您的單元測試在一個平臺上運行,並且您的驗收測試和生產環境是另一個平臺。在另一個環境中看起來成功的代碼可能會失敗。

但是,在Web應用程序中不使用的最重要的原因是本機代碼的存在。 本地代碼中的某些故障將導致JVM崩潰,這是普遍不喜歡的事情。畢竟,這會導致不必要的停機時間,因爲類型4驅動程序可能會簡單地丟棄連接並在發生故障後進行清理,而不會影響應用程序的其餘部分。

就客戶端設置而言,通常客戶端安裝取決於使用的驅動程序的類型。類型1驅動程序實際上會包裝另一個數據庫API(如ODBC),因此也需要安裝相應的ODBC驅動程序。類型2驅動程序要求DLL或共享對象存在於java.library.path中,通常這是通過設置PATH或LD_LIBRARY_PATH環境變量來完成的。