2012-08-14 127 views
0

我正在GlassFish服務器上開發NetBeans的JSP項目。該項目使用MS Access文件作爲數據庫。我需要在哪裏放置MDB文件,以便JSP類可以在運行時找到它?設置GlassFish服務器

我的代碼

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
location = loc.getAbsolutePath().substring(0, loc.getAbsolutePath().length() - 2); 
String filename = location + "\\myDB.mdb"; 
System.out.print(filename); 
String database; 
database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; 
database += filename.trim() + ";DriverID=22;READONLY=true}"; 
c = (DBM) DriverManager.getConnection(database, "", ""); 

回答

1

你應該需要設置DSN其獲取連接。請參閱以下步驟;

  1. 打開Windows的ODBC數據源管理器,如下所示:選擇開始>設置>控制面板>管理工具>數據源。
  2. 在「ODBC數據源管理器」對話框中,單擊「系統」 DSN選項卡。
  3. 單擊添加將新的DSN添加到列表中。
  4. 向下滾動並選擇Microsoft Access(.MDB)驅動程序。
  5. 鍵入名稱「yourDataSourceName」(不含引號,但留下了相同的情況下) 數據源名稱
  6. 點擊創建並選擇一個文件來保存數據庫(我選擇 「d:\ java中\ test.mdb「) - 這將創建一個新的空白MS Access 數據庫。
  7. 一路點擊「確定」。
1

把MDB文件放在機器上的位置並不重要。重要的部分是Java需要JDBC,Java世界等同於ODBC。 (不完全相同,但你讓我漂移)。但MS Access不支持JDBC,只支持ODBC。 Sai說,你需要設置ODBC。很久以前,Sun就創建了JDBC-ODBC橋,直到所有數據庫創建JDBC驅動程序(但並非每個人都像Access一樣)。它意味着很久以前就會消失,但它仍然在這裏,您需要使用它並進行配置。有很多關於如何做到這一點,如果你谷歌「JDBC ODBC橋」的例子,但這裏是這個網站的鏈接開始:

JDBC with ms-access?

但實際上,它是更好地爲你看看這個向上。有很多高質量的網站會向你展示。首先在Oracle上尋找教程,然後在其他地方尋找。遠離印度玫瑰或任何它被稱爲。這是如何做不到的事情。

我建議不要使用MS Access。您是否有任何理由使用MS Access以外的知識?您最好使用具有本機jdbc驅動程序的數據庫。有許多高質量的數據庫都有可用的JDBC驅動程序,這些驅動程序肯定比MS Access的質量更好,更穩定。

如果您希望開箱即用,易於使用,並且擁有免費的查詢和數據庫維護工具,請嘗試使用MySQL。只要確保設置爲使用「InnoDB」選項即可。這使得它表現爲符合「酸」標準的數據庫。

我的偏好是PostgreSQL,但是如果你之前沒有使用它,一開始可能會有點讓人頭疼,並且沒有從核心團隊構建的GUI工具(它有一些從關聯項目構建但沒有任何地方靠近建立的數字是由MySQL提供的)。它有一些配置需要完成才能允許TCP/IP連接,以及一些關於如何允許用戶連接的安全配置。 MySQL對新用戶來說不那麼痛苦。事實上,我認爲它與MS Access一樣容易使用。(FWIW我使用Postgres,因爲我認爲數據庫引擎是更好的質量,更大的項目更大的功能......就像開放源代碼的Oracle)。

還有其他免費的,但如果你正在從MS Access移動,MySQL可能很容易使用。