2009-04-27 21 views
0

我有一箇舊編譯的訪問應用程序mde文件。此應用程序已將錶鏈接到網絡共享文件夾。我試圖在主數據庫上使用升遷嚮導來升級主數據庫,並且一切都很順利。然後,在應用程序啓動時,它提供的是編譯訪問(mde)文件的鏈接表問題

Microsoft Jet數據庫引擎找不到

我已經檢查它有確切的表名和所有共享的mdb文件輸入表或查詢表的錯誤消息。 然後我打電話給開發這個應用程序的人。他說我必須重寫應用程序才能不使用Jet引擎...

Jet引擎與連接表有什麼關係?我真的必須重寫整個應用程序才能使用ADO嗎?

+0

您是否升級.mde或.mdb? – JeffO 2009-04-27 17:01:54

+0

我升級了主mdb數據庫。我剛升級以提高性能。我認爲它會更快。 – THEn 2009-04-27 17:35:08

回答

0

您確實更改了Access數據庫版本? 您的mdb可能與舊版本的Jet驅動程序鏈接,並且這些驅動程序無法連接到較新的mdb版本。

2

許多問題:

  1. 你有源MDB文件?如果鏈接表沒有正確連接,我不記得是否創建MDE失敗。無論如何,如果您最終需要更改應用程序,您將需要源MDB文件。

  2. 您報告的錯誤消息應給出缺少的表的名稱。

  3. 你知道錯誤何時被報告嗎?可能有許多地方簡單地將鏈接到Jet MDB後端的表替換爲與服務器的ODBC鏈接不能解決問題。例如,如果在代碼中存在任何保存的查詢或SQL來繞過鏈接表並使用直接連接字符串,則可能會產生像您看到的錯誤。

  4. 對於開發商的迴應說:「我不得不重新改寫應用程序無法使用Jet引擎......」無論是你誤解他說什麼,或者你的開發者是完全無能。或者兩者,我猜。 Jet與ODBC鏈接表非常相稱,如果您使用的是MDB前端,則不可能完全消除Jet,因爲MDB是Jet數據文件。消除Jet的慾望主要來自那些無法學習如何正確使用它的人。

這聽起來好像你得到一個未處理的錯誤,但沒有足夠的信息產生它。您需要真正的MDB來排除故障,因爲代碼不在MDE中顯示,因此無法找出問題的實際來源。如果你的開發人員不給你MDB,那麼你需要檢查應用程序開發的合同 - 如果你同意讓他控制源代碼,你基本上是在他的憐憫之下,並應該解僱誰簽署在那。值得一提的是,當我向客戶提供MDE時,他們也獲得完整的MDB。他們通常不會對它做任何事情,但是如果我不再能夠進行進一步的開發工作,他們已經獲得了他們可以提供給任何他們想要的源代碼。

最後,我認爲即使您的應用程序正常工作也不太可能,僅僅在性能或穩定性方面進行大規模升級即可。確實,經常有90%或更多的升級版應用程序無需修改就可以正常工作,但其他10%的應用程序可能會出現問題。通常你需要移動服務器端的某些操作來獲得服務器後端提供的效率。這意味着您的前端應用程序需要重新設計,才能更好地適應您的升級後端。這種情況的真實程度會因應用程序而有所不同,但很少有絕對沒有修正的情況。

+0

+謝謝。無論如何,這不是關鍵任務應用程序。我只是想提高與SQL Server連接的性能,但我沒有考慮到你提到的轉換問題。 – THEn 2009-04-27 21:26:49