2009-06-12 77 views
2

我們希望有大約35-40人通過共享驅動器上的腳本寫入訪問數據庫。度量指標需要每小時編寫3-7次。 Access會支持這個,而不會對我造成傷害。將訪問支持35-40個用戶寫入Access數據庫

是的,我很願意用這個作爲一個SQL服務器,但這就意味着要通過大量的繁文縟節/會議文書工作等,我寧願不與

+0

你是什麼意思的腳本? – 2009-06-13 08:13:57

回答

6

可以嗎?是。如果你非常小心並執行鎖定,並確保沒有人踩到其他人。訪問是真的不適用於任何形式的併發。我知道有一個地方能夠在一個非常併發的環境中工作,但是這個環境基本上記錄了所有事情,如果數據庫崩潰了,它會從上次備份中恢復並自動重放Access文件,以便失敗是透明的。我不會推薦遵循這樣的行動...

你應該這樣做嗎?沒有。有什麼理由不能使用PostgreSQLMySQL之類的東西嗎?

8

麻煩你能不能讓他們與去免費版的SQL Server Express沒有繁文?節?

在回答你的問題時,我已經看到Access在這個很多用戶的環境中給出了很大的問題,儘管那是在2007年之前。我不知道它有多大的改變。

如果是我,我會不惜一切代價避免訪問。

+0

+1 - SQL Express beats隨時隨地訪問,如果您通過繁文you節,您可以順利過渡到標準或企業。 – 2009-06-12 15:50:25

+0

+1 - 是的,絕對的 - 使用SQL EXpress - 你可以節省自己無數小時的痛苦! – 2009-06-12 15:51:05

+1

我認爲Express產品是單用戶產品(在許可方面)。他們幾年前改變了嗎? – 2009-06-12 15:57:26

1

這是可能的。數據庫第一次崩潰時,你會希望你使用SQL Server Express。最終它會崩潰。

在我以前的工作中,我們有一個帶有Access數據庫後端的產品。我們有一些有25個用戶的客戶。我們拒絕了擁有40位潛在用戶的客戶,因爲我們從經驗中知道數據庫會定期腐敗,而且性能不可接受。

我們去了SQL Server Express的那一天,應用程序的性能翻了一番,崩潰和損壞的問題幾乎消失了。

1

我也會避免訪問。你有沒有想過關於sql ce。它應該更好地處理多用戶,它就像訪問一樣。

1

7 * 40 = 280每小時。

280/60 = 4,6每分鐘。

如果你的腳本很輕,如果你不經常閱讀結果,也許... 當然,我不建議你嘗試。會議時間! ;)

2

是的,它會工作。不,這不是一個好主意。

訪問將能夠處理負載,只要這35-40人不是一次都試圖訪問數據庫。當你開始擁有兩個以上的併發用戶時,它會快速停滯,特別是如果這些用戶都在嘗試更新某些內容。

問題是不是不安全。您需要在網絡共享上訪問整個數據庫文件,其中任何用戶都可以寫入。您將有多個Access實例試圖同時讀取和修改文件,除非您非常小心鎖定,否則數據庫很可能會被損壞或損壞。

除了基本的文件權限之外,您也永遠無法添加任何類型的訪問控制。你現在可能不需要它,但內部數據庫往往最終需要以某種方式暴露於更廣泛的世界。

這不值得。有很多真正的RDBMS系統是免費的,這些系統專門用於處理這類事情。爲什麼要花時間在這樣的環境中嘗試使Access工作,何時才能安裝SQL Server Express並完成它?它有侷限性,但如果你正在認真考慮Access,那麼你永遠不會靠近這些。或者使用MySQL,PostgreSQL,Firebird ...

1

如果連接只在需要運行腳本時打開,並且您使用事務並且在發生衝突時內置了一些重試邏輯,那麼真的不應該太多的問題。

如果您的腳本需要1秒鐘來更新(當然這是計算機/數據庫方面的相當長的時間),並且每小時有280次更新,如果您足夠幸運沒有兩個用戶同時運行它們腳本,當數據庫未打開時,仍然會有3,320秒。

我沒有看到問題,假設,您知道如何正確管理您的連接和管理您的Jet交易。

1

只要在穩定的局域網或超高速廣域網上,該卷對於Access來說都不是問題。無線連接也是一個壞主意。

我有幾個客戶端每年向系統中添加大約200K到300K的事務。那麼每個工作日大概有1000個。這是使用Access前端和後端。

這就是說他們中的一個將很快升遷到SQL Server。當他們僱用了PHB(Dilbert尖尖的頭髮老闆)時,我解僱了另一個客戶。