我正在使用SQL Server 2016 Express,嘗試通過ODBC數據源連接到網絡上另一臺服務器上的Access數據庫。我查了一些教程,並嘗試了各種不同的方法,但無法使連接工作。最終,我似乎停留在此錯誤:SQL Server鏈接服務器到MS Access - DSN體系結構不匹配錯誤
[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (Microsoft SQL Server, Error: 7303)
爲了排除權限和網絡問題,我已經將數據庫複製到本地機器上嘗試創建一個測試連接。我已驗證Microsoft Access的安全設置爲OFF(表示沒有用戶名/密碼登錄)。我確保使用32位版本的ODBC數據源管理器(在Windows\SysWOW64\
中),嘗試過SQL Server中的各種設置,甚至嘗試通過T-SQL代碼直接創建鏈接服務器,如下所示:
EXEC sp_addlinkedserver
@server = N'TESTLINK',
@provider = N'MSDASQL',
@srvproduct = N'',
@datasrc = N'TEST';
下面是我用的,試圖建立這種連接,在那裏我不斷收到此錯誤的當前設置:
請注意,我也嘗試過每一個新建鏈接服務器對話框的安全選項卡上的設置,但已收到錯誤每次。
如果有人有一個想法,我可能會錯過這裏,請讓我知道。
編輯:有一個類似的問題在這裏,但它是一個古老的線程,並高度評價答案是不成功的,我(我已經嘗試過):
The specified DSN contains an architecture mismatch between the Driver and Application. JAVA
關鍵要解決我的問題是,我需要專門下載Access ODBC驅動程序的64位版本,它可以在這裏下載:
https://www.microsoft.com/en-US/download/details.aspx?id=13255
您是否看過[指定的DSN包含驅動程序和應用程序之間的架構不匹配。 JAVA](https://stackoverflow.com/questions/8895823/the-specified-dsn-contains-an-architecture-mismatch-between-the-driver-and-appli)? –
如果SQL Server進程正在以64位的方式運行(看起來很可能),那麼它可能會想要與64位ODBC驅動程序進行通信。 –
@GordThompson是的,這是64位的SQL Server。我們需要它是64位的。您是否在說我需要爲SQL Server安裝一些可以連接到32位ODBC驅動程序的東西?這是有道理的...我正在查找一些信息。 –