2013-02-22 42 views
-1

我是一位參加入門編程課程的學生,在訪問數據庫時遇到了一些問題。我使用Visual Studio 2010 Professional和Microsoft Office 2013 Developers Preview(貧窮的大學生是我使用預覽的理由)。我每次在Visual Studio中創建一個數據庫連接(我們的教授向我們介紹數據庫概念),我瀏覽到我選擇創建新數據連接的位置,選擇Microsoft Access數據庫文件作爲數據源,用於OLE DB的.NET Framework Provider作爲數據提供者(該文件是一個.accdb,文件名:Northwind銷售Web數據庫)。在Visual Studio 2010專業版中創建數據連接時無法識別的數據庫格式

我繼續到下一個屏幕,瀏覽DATABSE文件並選擇它,然後選擇測試連接,接收錯誤信息

「無法識別的數據庫格式「C:\用戶\以賽亞\文檔\羅斯文 sales web database.accdb'。「

我做了一些研究,發現有些人曾與Office 2007和2010年,這個問題,並能夠通過安裝「Microsoft Access數據庫引擎2010可再發行」和/或「2007 Office系統驅動程序來解決它:數據連接組件「。

我已經嘗試了兩個。
當安裝了2010年再發行,我將不再收到了無法識別的數據庫格式錯誤,但反而會收到錯誤

「Microsoft.ACE.OLEDB.12.0' 供應商未在本地 機器上註冊。」

有人誰擁有這個錯誤已經找到安裝在2010年可再發行的頂部在2007 Office系統驅動程序將解決他們的問題,
我想這和它的作用是使我再次接收舊的錯誤信息。
我已經嘗試安裝一個文件,而不是其他,看看它是否有所作爲,它不會,沒有解決方案出現。有些人已經發現確保它們被設置爲x86系統的編譯解決了這個問題,它不適合我。

我運行的是Windows 8 64位,並且在運行Windows 7 64位時也出現了這個問題。
請幫助我,因爲我沒有想法,如果我沒有使我的系統處於正常工作狀態,我將開始落後於課程。

任何想法非常讚賞

+0

你看着#2?有很多建議:http://stackoverflow.com/search?q=Microsoft.ACE.OLEDB.12.0%27+provider+is+not+registered+on+the+local+machine你不需要一切匹配。在我的系統中,我有Access 2007 32位驅動程序和Access 2010 64位驅動程序,這似乎涵蓋了大部分內容。檢查安裝了32位驅動程序的'C:\ Windows \ SysWOW64 \ odbcad32.exe'。 – Fionnuala 2013-02-22 18:44:15

回答

2

對於哪個平臺做編譯應用程序?通常你有兩種選擇:x86AnyCPU。 如果編譯AnyCPU,那麼您的代碼將在64位系統上以64位代碼或在32位系統中以32位代碼執行。如果編譯爲x86,那麼在32位和64位系統中,您的代碼始終以32位代碼的形式執行。所以AnyCPU似乎是明顯的選擇。現在想象一下開發「Microsoft Access數據庫引擎2010可再發行組件」的Microsoft團隊。他們選擇構建不同版本的驅動程序。其結果是:如果您爲AnyCPU構建並在安裝了32位版本引擎的64位系統上運行,則無法使用它們的代碼。您需要安裝64位版本,但現在您需要安裝64位版本的Office,否則您無法使用該版本。更好地將您的應用切換到32位代碼並選擇x86目標平臺。 (不,你不能安裝在同一臺機器上的兩個版本)

+0

我有點困惑,你是否建議我刪除Visual Studio和Office,然後重新安裝每個版本的32位版本? – Iamstow 2013-02-22 18:26:55

+0

不,我在問安裝了哪個版本的Office和數據引擎。如果你有64位版本的Office和相應的引擎,那麼你的應用程序需要以64位代碼執行(即Platform Target = AnyCPU),否則你需要爲x86 Platform Target構建你的應用程序 – Steve 2013-02-22 18:32:18

+0

我的歉意,我忘記提及它是設置爲x86編譯。 – Iamstow 2013-02-22 18:32:26

相關問題