问题
I am using SQL Server 2016 Express, trying to connect to an Access Database on another server on the network, via an ODBC Data Source. I have looked up a number of tutorials and tried a variety of different methods, but cannot get the connection to work. Ultimately I seem to be stuck on this error:
[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (Microsoft SQL Server, Error: 7303)
To rule out permissions and networking issues, I have copied the database to the local machine to try to create a test connection. I have verified that the security settings for Microsoft Access are OFF (meaning there is no username / password to log in). I am making sure to use the 32-bit version of the ODBC Data Source Administrator (in Windows\SysWOW64\
), have tried a variety of settings in SQL Server, and have even tried creating the linked server directly via T-SQL code, like this:
EXEC sp_addlinkedserver
@server = N'TESTLINK',
@provider = N'MSDASQL',
@srvproduct = N'',
@datasrc = N'TEST';
Here are the current settings I am using to try to create this connection, where I keep getting this error:
Note that I have also tried each of the settings on the Security tab of the New Linked Server dialog, but have received errors each time.
If anyone has an idea to what I might be missing here, please let me know.
EDIT: There is a similar question here, but it is an old thread, and the highly rated answers were unsuccessful for me (I had already tried):
The specified DSN contains an architecture mismatch between the Driver and Application. JAVA
The key to resolving my issue was that I needed to specifically download the 64-bit version of the Access ODBC driver, which can be downloaded here:
https://www.microsoft.com/en-US/download/details.aspx?id=13255
回答1:
If the SQL Server process is running as 64-bit (which seems extremely likely these days) then it needs to have the 64-bit version of the Access Database Engine components installed. They are available for download here.
来源:https://stackoverflow.com/questions/44375670/sql-server-linked-server-to-ms-access-dsn-architecture-mismatch-error