2013-04-06 123 views
0

傢伙我有我的項目基於java swing。它基本上就像通過內部網共享信息,用戶之間通過無線/有線相連。數據庫位於網絡驅動器上。所有機器都安裝了該應用程序。每個人都可以執行數據庫。我有以下問題:限制開放網絡驅動器


  1. 每個人都能夠在網絡驅動器查看文件夾(包括數據庫)。如何設置權限,以便應用程序能夠訪問數據庫,但用戶無法查看網絡驅動器文件夾。

  2. 如果有人試圖同時執行數據庫,則會引發SQL錯誤。如何處理?如果發現這種異常,我應該延遲一些嗎?

PS-正在使用MS訪問

迫切需要幫助.. 在此先感謝傢伙..將是很大的幫助...! :)

+3

使用多用戶準備好的數據庫。 – Markus 2013-04-06 06:24:57

+0

以及如何設置權限? – 2013-04-06 07:07:30

+1

更好地使用像MySQL或PostgreSQL這樣的數據庫服務器,甚至更好,支持類似JSON的Web訪問層 – MadProgrammer 2013-04-06 07:18:24

回答

1

每個人都可以查看網絡驅動器中的文件夾(包括數據庫)。如何設置權限,以便應用程序能夠訪問數據庫,但用戶無法查看網絡驅動器文件夾。

如果人們打算訪問網絡驅動器上的共享.accdb或.mdb文件,那麼顯然他們必須能夠「看見」它並「讀取」它。如果他們需要能夠更新該數據庫,那麼他們也需要在該文件上「寫入」權限。

另請注意,共享的Jet/ACE的數據庫文件中,對於多用戶訪問的正常工作所有用戶必須對文件夾在其中共享文件所在Create File權限。這是因爲他們需要能夠在該文件夾中創建鎖定文件(.laccdb或.ldb)。 (如需更詳細的說明,請參見我其他的答案here

至於限制對所有網絡共享的其他文件和文件夾的訪問,這是設置在服務器上的這些對象相應權限的問題。如果他們只需打開資源管理器窗口並以這種方式瀏覽網絡共享,就無法擺脫應用程序代碼來嘗試限制訪問。

如果有人試圖同時執行數據庫,則會引發SQL錯誤。如何處理?

請編輯您的問題,讓我們知道錯誤實際上是說