2011-09-18 65 views
0

我目前正在製作一個小的Java應用程序來對訪問數據庫執行一些CRUD操作。在tafe他們運行32位機器,所以它在那裏工作,但在家裏我運行64位,所以我做了一些研究,並發現SysWOW64中的odbcad32.exe。所以我在那裏創建了數據源,並且J Creator仍然有一個錯誤,說明指定的DSN包含驅動程序和應用程序之間的體系結構不匹配。所以我現在認爲即使dsn是32位版本,J Creator仍然在尋找64位版本。試圖在64位機器上加載odbcad32的問題

這裏是ap加載的.properties文件。

driver = sun.jdbc.odbc.JdbcOdbcDriver 
url = jdbc:odbc:booksDSN_32;database=booksdb.mdb 
username = user 
password = password 
connections=1 

我想也許URL需要是不同的,所以我把它改成

URL =的jdbc:odbcad32:booksDSN_32;數據庫= booksdb.mdb

沒有運氣這一點。我敢肯定它的小東西我在這裏缺少的東西

謝謝你的任何幫助,你可以提供!

+0

一些我在項目設置和JDK配置文件中查看的更多信息,它使用的JDK版本是1.6.0_24,它們看起來像程序文件\ java – Zac

+0

,它看起來是64位Java。如果將其更改爲32位Java,會發生什麼情況? –

+0

對不起,但我不知道如何將其更改爲32位。它只是創建一個具有程序文件(x86)\ java主路徑的新JDK配置文件? – Zac

回答

0

您使用的是32位還是64位Java?

換句話說,在你的64位機器上,Java是從C:\Program Files\Java還是C:\Program Files (x86)\Java下運行的?

我在過去在64位機器上使用32位DLL與Java一起使用過幾個問題。兩種情況下的修復都是使用32位Java。

+0

我在程序文件和程序文件(x86)中都有一個java文件。即時通訊不知道如何判斷它使用哪一個。 – Zac

+0

在JCreator中,從項目菜單中選擇項目設置項目。在「JDK配置文件」選項卡中,應勾選其中一個JDK配置文件。點擊它並點擊編輯。 'Home路徑'包含'C:\ Program Files \ Java'或'C:\ Program Files(x86)\ Java'嗎? –

0

高大短是---

  • 所有可執行文件,DLL等運行相同的進程空間中都必須是相同的位數(全部32位或64位的全部)

  • 的孫JDBC到ODBC橋將有一個C部分(ODBC位),將可能是32位..

所以,你會需要使用32位Java運行時環境(加載Bridge的32位C部分)運行您的Java程序 - 在註冊表中查找32位ODBC數據源 - 加載32位ODBC驅動程序...

我懷疑你有什麼是 - 64位的Java無法加載橋的32位C部分,...

還有其他JDBC到ODBC橋可以像OpenLink SoftwareMulti-tier JDBC to ODBC Bridge它採用客戶端/服務器體系結構構建的。

瘦JDBC客戶端連接到與ODBC橋服務器端(或同一臺客戶端) - 它可以是其中一個ODBC驅動程序在一定的位數存在非常有用的(比如,僅32位)...

相關問題