2012-08-31 80 views
2

我試圖將Access數據庫(2010 32位)連接到Windows 7 PC上的系統ODBC連接(64位)如何連接到系統ODBC連接是Windows 7上的Access 2010

但是,當我嘗試鏈接到它的機器數據源時,找不到我創建的ODBC數據源。

我知道32位應用程序和64位驅動程序之間存在問題。 而且有兩個版本的ODBC數據源管理的

  • C:\ WINDOWS \ Syswow64資料\ odbcad32.exe的
  • C:\ WINDOWS \ SYSTEM32 \ odbcad32.exe的

我已經都嘗試過,並且都沒有人能夠創建一個對我來說可見的ODBC源。我怎樣才能得到這個工作?

注意:用戶數據源似乎工作正常,但系統數據源不是。

我正在使用的數據源是單獨機器上的MS SQL Server 2008數據庫。

+0

這不應該是一個ServerFault的問題嗎? –

+0

考慮到......但我不認爲那裏有很多MS-Access的專業知識。 – BIBD

+0

我不得不假設你沒有從Access那裏做這件事,因爲Access不支持到Access的odbc連接,你只能使用一個鏈接表。 –

回答

4

你有沒有試過從Access製作一個?當您選擇外部數據源odbc時,您有機會從Access內部創建DSN。你可以在那個時候創建​​一個系統DSN。 (Access將爲您啓動正確版本的ODBC管理器)。

由於Access是一個32位的,那麼這些系統的位置的DSN因此這裏:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ODBC \ ODBC.INI \ SYSTEM DSN

所以名稱必須啓動32位版本。

(但是,它真的很容易讓Access爲你啓動它)。

所以,如果你啓動ODBC管理器的32位版本,這一個:

C:\ WINDOWS \ Syswow64資料\ odbcad32.exe的

那麼你應該罰款(所以不要使用一個來自控制面板)。因此,如果您使用32位版本(來自sysWOW的版本)創建系統DSN,那麼當您啓動相同的odbc管理器時,您應該在Access中看到它。你看這個:

enter image description here

在上面,我創建了兩個系統的DSN,一個從laucnhes讓訪問啓動管理器和其他從命令提示符的SYSWOW版本 - 無論哪種方式,你應該看到這個清單。

+0

這工作......我沒有看到在控制面板的ODBC管理器中的32位ODBC連接,但至少我現在有一個工作。 – BIBD

+1

@CodeSlave,請參閱系統DSN條目不會出現在ODBC數據源管理器(odbcad32.exe)中http://support.microsoft.com/kb/2000277。 – JamieSee

0

這很可能是設置ODBC數據源的快捷方式指向32位數據源而不是64位。

轉到控制面板 - >管理工具 - >選擇數據源(ODBC) - >然後右鍵單擊該文件 - >轉到屬性 - >在快捷方式選項卡中 - >從% windir%\ System32 \ odbcad32.exe至

%windir%\ SysWOW64 \ odbcad32。exe

並使您的連接。 MS Access的驅動程序現在可以正常工作。

+0

Yah ....沒有。我不會在我的Administrative Tools文件夾中混淆現有的快捷方式。當他們使用64位ODBC連接(或者我自己忘記)時,使用我的電腦使用錯誤的電腦的風險很大。我可以克隆快捷方式並更新克隆。但應用程序並不清楚他們正在設置32位和64位ODBC連接,並且他們彼此不知道。 – BIBD