2017-06-05 3 views
1

J'utilise SQL Server 2016 Express, en essayant de me connecter à une base de données Access sur un autre serveur du réseau, via une source de données ODBC. J'ai recherché un certain nombre de tutoriels et j'ai essayé différentes méthodes, mais je n'arrive pas à faire fonctionner la connexion. En fin de compte, je semble être coincé sur cette erreur:Serveur lié SQL Server à MS Access - Erreur d'incompatibilité d'architecture DSN

[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (Microsoft SQL Server, Error: 7303)

EXCLUAIENT les autorisations et les problèmes de réseau, j'ai copié la base de données sur la machine locale pour essayer de créer une connexion de test. J'ai vérifié que les paramètres de sécurité pour Microsoft Access sont désactivés (ce qui signifie qu'il n'y a aucun nom d'utilisateur/mot de passe pour se connecter). Je m'assure d'utiliser la version 32 bits de l'Administrateur de sources de données ODBC (dans Windows\SysWOW64\), j'ai essayé une variété de paramètres dans SQL Server, et j'ai même essayé de créer le serveur lié directement via du code T-SQL, comme ceci:

EXEC sp_addlinkedserver 
    @server = N'TESTLINK', 
    @provider = N'MSDASQL', 
    @srvproduct = N'', 
    @datasrc = N'TEST'; 

Voici les paramètres actuels j'utilise pour essayer de créer cette connexion, où je continue à obtenir cette erreur:

ODBC Data Source

New Linked Server Dialog

Linked Server Security Settings

Error Message

Notez que j'ai aussi essayé chacun des paramètres sur l'onglet Sécurité de la boîte de dialogue Nouveau serveur lié, mais ont reçu des erreurs à chaque fois.

Si quelqu'un a une idée de ce que je pourrais manquer ici, s'il vous plaît faites le moi savoir.

EDIT: Il y a une question similaire ici, mais il est un vieux fil, et les réponses très bien cotées ont échoué pour moi (je l'avais déjà essayé):

The specified DSN contains an architecture mismatch between the Driver and Application. JAVA

La clé pour résoudre mon question était que je devais télécharger spécifiquement la version 64 bits du pilote ODBC Access, qui peut être téléchargé ici:

https://www.microsoft.com/en-US/download/details.aspx?id=13255

+1

Avez-vous regardé [Le DSN spécifié contient une discordance d'architecture entre le pilote et l'application. JAVA] (https://stackoverflow.com/questions/8895823/the-specified-dsn-contains-an-architecture-mismatch-between-the-driver-and-appli)? –

+1

Si le processus SQL Server s'exécute en 64 bits, ce qui semble probable, il voudra probablement parler à un pilote ODBC 64 bits. –

+0

@GordThompson Oui, il s'agit de SQL Server 64 bits. Nous avons besoin d'être en 64 bits. Voulez-vous dire que j'ai besoin d'installer quelque chose pour SQL Server qui lui permettra de se connecter au pilote ODBC 32 bits? Cela a du sens ... Je suis en train de chercher des informations à ce sujet. –

Répondre

1

Si le processus SQL Server est en cours d'exécution en 64 bits (w Cela semble extrêmement probable ces jours-ci) alors il doit avoir la version 64 bits des composants Access Database Engine installés. Ils sont disponibles au téléchargement here.