情景:我已經安裝了32位ODBC驅動程序連接到數據庫A,和一個64位的ODBC驅動程序數據庫B.32,並在同一時間在Java兩種64位JDBC
我知道我可以連接到java x86中的32位ODBC驅動程序和java x64中的64位ODBC驅動程序,但是如果我需要在同一個Java應用程序中使用64位ODBC驅動程序和32位ODBC驅動程序,該怎麼辦?
我可以連接到Java中的32位ODBC驅動程序和64位ODBC驅動程序嗎?
我很好奇它。
情景:我已經安裝了32位ODBC驅動程序連接到數據庫A,和一個64位的ODBC驅動程序數據庫B.32,並在同一時間在Java兩種64位JDBC
我知道我可以連接到java x86中的32位ODBC驅動程序和java x64中的64位ODBC驅動程序,但是如果我需要在同一個Java應用程序中使用64位ODBC驅動程序和32位ODBC驅動程序,該怎麼辦?
我可以連接到Java中的32位ODBC驅動程序和64位ODBC驅動程序嗎?
我很好奇它。
我可以連接到32位ODBC:JDBC和64位ODBC:Java中的JDBC?
不可以。無法從64位JVM調用32位本機代碼。但是,ODBC應該是ODBC - 如果您有一個64位ODBC:JDBC驅動程序,那麼它應該工作從64位Java連接。
是,可以
你只需要使用類型3 JDBC連接 - 「多層」JDBC到ODBC橋 - 例如從my employer的Enterprise Edition JDBC Driver for ODBC Data Sources,以彌補「位」差距。
類型3 JDBC到ODBC連接在Java虛擬機中使用Java應用程序放置一個「純Java」JDBC驅動程序,並通過TCP/IP與一些基於C的ODBC客戶端組件進行通信,這些組件位於「native 「帶有ODBC驅動程序的操作系統環境 - 它們不需要在相同的主機上,也不需要與JVM在同一主機上。
Type 3 JDBC Driver in 32-bit JVM -> ... TCP/IP ... -> 64-bit ODBC Bridge Middleware -> 64-bit ODBC Driver
或
Type 3 JDBC Driver in 64-bit JVM -> ... TCP/IP ... -> 32-bit ODBC Bridge Middleware -> 32-bit ODBC Driver
您可以選擇使用類型1「單層」 JDBC到ODBC橋如Lite Edition JDBC Driver for ODBC Data Sources從my employer的JVM和一個ODBC的位數匹配驅動程序(比如64位),並且只爲其他(32位)ODBC驅動程序使用「多層」JDBC-ODBC橋。 請記住,Java 8 and later no longer include the Sun JDBC-to-ODBC Bridge (classname sun.jdbc.odbc.JdbcOdbcDriver
, used jdbc:odbc:<dsn>;UID=<uid>;PWD=<pwd>
URLs) in the JVM。
你的問題有點不清楚,應該改寫以糾正/澄清。 「ODBC:JDBC」表明你試圖通過一個JDBC驅動程序(通過ODBC到JDBC橋)連接ODBC客戶端應用程序,但是你所說的其他一切都表明你真的想要做的是創建一個Java JDBC應用程序通過幾個ODBC驅動程序(通過JDBC到ODBC橋)連接。 – TallTed
正確,已編輯。 – AndreaTaroni86