2010-02-15 164 views
1

我想通過Asp.net應用程序設置到MS Access的ODBC連接。 我不斷收到此錯誤信息:通過ASP.net通過ODBC連接到Access數據庫

ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver] The Microsoft Office Access database engine cannot open or write to the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view and write its data. 
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed 
ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver] The Microsoft Office Access database engine cannot open or write to the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view and write its data 

我明白,也許這已經是與權限,因爲它在本地的應用程序(控制檯應用程序)工作正常。

已經tryed給讀\寫權限「IUsr_my機」,但它仍然沒有解決問題

TKS

回答

2

這不是權限。這就是數據庫實際上在MS Access中打開的地方。使用MS Access打開Access數據庫不同於從另一個程序連接Access數據庫。 MS Access會在您處理數據時鎖定分貝。你需要找到誰在MS Access中打開它,並在頭部擊敗它們,直到它們關閉Access程序。

你這樣做後,報告給我的辦公室,所以我可以自己挑選Access作爲網絡數據庫。這是一件非常愚蠢的事情,因爲Access是一個進程內或桌面類的引擎。 Web站點確實需要像SQL Server Express這樣的服務器類引擎,可以更好地處理併發用戶。

+0

什麼?訪問吮吸?我應該嘗試sql服務器?爲什麼我之前沒有想到呢?哦,是的,我做到了。使用訪問不是愚蠢的,它的勇氣,所以你不應該威脅那些試圖做這樣的訪問瘋狂的人!不管怎麼說,這個小費都可以用。 (沒有工作的方式) – DJPB 2010-02-15 16:26:16

+0

@DJPB你不必使用SQL服務器 - 只是不使用訪問。這不是盲目的仇恨。我同樣對sqlite,OpenOffice Base和其他任何_in process_引擎持懷疑態度。如果你寧願去Oracle,MySql,PostGRESQL,甚至是DB2,都是我的客人。只是不要在網絡上使用進程內引擎。 – 2010-02-15 16:56:35

+0

只是開玩笑,不要誤解我的意思。我已經連接到幾個數據庫引擎,我同意這是一個更好的方法。例如,我只是好奇地想知道access或excel的行爲。我看到了......順便說一句,(如果有人面臨同樣的問題),當你給「everyone」組授予讀寫權限時,它就會起作用。但這是一個糟糕的政策 – DJPB 2010-02-15 17:14:17

0

對於那些在這裏崩潰與相同的錯誤。嘗試將MDB文件放在您的域文件夾下,然後創建DNS。這解決了我的問題。