Как мне подключиться к моему 64-битному серверу SQL через ODBC? - PullRequest
16 голосов
/ 23 декабря 2009

Я недавно установил SQL Server 2008 Express на свой домашний компьютер с Windows 7 Ultimate x64. У меня также есть IIS 7.5 с PHP 5.3, и я пытался подключиться к SQL через ADODB , но продолжал получать эту ошибку:

[Microsoft][ODBC Driver Manager] The specified DSN contains an
architecture mismatch between the Driver and Application

После небольшого количества копаний в интернете, я думаю, это потому, что драйвер ODBC для SQL Server предназначен для 32-разрядных операционных систем, а у меня - 64. Прежде всего, я прав? Это причина, по которой у меня проблемы? Во-вторых, если так, как я могу это исправить? Есть ли обновленные драйверы ODBC, которые работают с 64-битными операционными системами? Я посмотрел, но не смог найти ...

Ответы [ 6 ]

27 голосов
/ 23 декабря 2009

Вы правы в том, что это связано с битами.

Надеюсь, это поможет:

- из MSDN -

Для управления источником данных, который подключается к 32-разрядному драйверу под 64-разрядным платформу, используйте c: \ windows \ sysWOW64 \ odbcad32.exe. Для управления данными источник, который подключается к 64-битному драйверу, используйте C: \ WINDOWS \ system32 \ odbcad32.exe. Если вы используете 64-битный odbcad32.exe настроить или удалить DSN, который подключается к 32-разрядному драйверу, вы будете получить это сообщение.

4 голосов
/ 28 августа 2012

У меня возникла та же проблема при попытке связать 64-битный сервер SQL 2012 с 'Sage Timberline' с помощью клиентского интерфейса Pervasive ODBC.

Я могу настроить 32-разрядный DSN, но SQL Server продолжает выдавать ошибку «несоответствие архитектуры» при попытке создать связанный сервер с использованием 32-разрядного DSN.

2 голосов
/ 12 июля 2012

Я попытался C:\Windows\SysWOW64\odbcad32.exe добавить драйвер. Но когда я устанавливаю связанный сервер между MAS90 и SQL Server 2008 R2, я все равно получаю ошибку несоответствия архитектуры. Просто поговорил с парнем из Sage, и он сказал, что он не будет работать с 64-битной версией Sql Server. Связанный сервер работает с MAS90, только если редакция Sql Server является 32-разрядной.

1 голос
/ 04 июня 2013

если 32-битное приложение в 64-битной операционной системе (приложение, которое вы устанавливаете в [program files (X86)], использует C: \ Windows \ SysWOW64 \ odbcad32.exe

В противном случае 64-битное приложение и 64-битная операционная система используют следующее C: \ Windows \ System32 \ odbcad32.exe

в противном случае вы получите ошибку типа "Несоответствие архитектуры"

Надеюсь, это спасет чей-то день:)

1 голос
/ 14 января 2010

Держу пари, вы работаете с пользовательскими DSN.

В зависимости от вашей точки зрения, в 64-битной среде Windows есть «особенность» или «ошибка» -

  1. 32-разрядные пользовательские уведомления о доставке отображаются в 64-разрядном администраторе и когда 64-разрядные клиентские приложения запрашивают все доступные уведомления о доставке, даже если 32-разрядные уведомления о доставке не могут быть использованы для 64-разрядное клиентское приложение и Adminstrator.

  2. 64-разрядные пользовательские уведомления о доставке отображаются в 32-разрядном администраторе и когда 32-разрядные клиентские приложения запрашивают все доступные уведомления о доставке, даже если 64-разрядные уведомления о доставке не могут быть использованы для 32-разрядное клиентское приложение и администратор.

Описываемое вами сообщение об ошибке появляется всякий раз, когда между DSN и клиентом, пытающимся с ним работать, возникает такое несоответствие битов.

Microsoft рекомендует называть ваши DSN пользователя именами _32 или _64, в зависимости от разрядности драйвера, на котором они основаны ... или придерживаться системных DSN.

Существуют 32-битные и 64-битные решения для подключения, которое вы хотите. Побитность ваших клиентских приложений (в данном случае IIS & PHP) определяет битность решения, которое вам требуется.

0 голосов
/ 06 сентября 2013

Это сработало для меня: обновленное решение, убедитесь, что приложение IIS НЕ установлено на 32-разрядную версию в Windows x64.Дополнительная информация: http://forum.gpsgate.com/topic.asp?TOPIC_ID=13711 от:

http://forum.gpsgate.com/topic.asp?TOPIC_ID=13622

...