Администратор ODBC отображает 32-разрядные и 64-разрядных пользователей источников данных в 64-разрядной версии Windows

Переводы статьи Переводы статьи
Код статьи: 942976 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

64-Разрядной версии операционной системы Microsoft Windows входят следующие версии программы Администратор источников данных Microsoft Open Database Connectivity (ODBC) (Odbcad32.exe):
  • 32-Разрядной версии файл Odbcad32.exe находится в папке %systemdrive%\Windows\SysWoW64.
  • 64-Разрядной версии файл Odbcad32.exe находится в папке %systemdrive%\Windows\System32.
Файл Odbcad32.exe отображает следующие типы имен источников данных (DSN):
  • Системный DSN
  • Источники данных пользователя

Проблема 1

32-Разрядной версии программы Администратор ODBC отображает 32-разрядной системе источников данных пользователя для 32-разрядных источников данных и пользователей 64-разрядного источников данных. 64-Разрядной версии программы Администратор ODBC отображает 64-разрядной системе источников данных пользователя для 32-разрядных источников данных и пользователей 64-разрядного источников данных.

Случай 2

Функция SQLDataSources возвращает все версии пользовательского DSN, независимо от архитектуры приложения. SQLDataSources функции, вызываемой в 32-разрядное приложение возвращает только системных источников данных для 32-разрядных драйверов, но возвращает пользовательских источников данных для драйверов 32-разрядных и 64-разрядные драйверы. Аналогичным образом SQLDataSources функции, вызываемой в 64-разрядное приложение возвращает только системных источников данных для 64-разрядных драйверов, но возвращает пользовательских источников данных для драйверов 32-разрядных и 64-разрядные драйверы. Таким образом Если приложение создает соединение с помощью пользовательского DSN, которое возвращается из функции SQLDataSources может появиться следующее сообщение об ошибке:
Источник данных не найден и не указан драйвер по умолчанию
Например рассмотрим следующую ситуацию. Создание пользовательского DSN для 32-разрядного драйвера "Microsoft Access Driver (*.mdb)". Этот драйвер не имеет соответствующей 64-разрядной версии. SQLDataSources функции, вызываемой в 64-разрядное приложение возвращает DSN пользователя 32 бита. Однако если соединение через этого пользователя 32-разрядного источника данных, появляется сообщение об ошибке, описанное выше в этом разделе.

Причина

DSN пользователя хранятся в следующем подразделе реестра:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
Перенаправление реестра не включена для этого параметра реестра. Таким образом пользовательских источников данных, отображаются в 32-разрядных и 64-разрядной версии программы Администратор ODBC.

Решение

Для обеспечения обратной совместимости нет доступного решения этой проблемы в настоящее время.

Временное решение

Чтобы обойти эту проблему, используйте соответствующую версию программы Администратор ODBC. Если построение и запустите приложение как 32-разрядное приложение в 64-разрядной операционной системе необходимо создать источник данных ODBC с помощью администратора ODBC в % windir%\SysWOW64\odbcad32.exe. Чтобы указать тип источника данных, можно добавить «_64» и «_32» для пользователей 32-разрядных источников данных пользователя 64-разрядного источников данных.

Дополнительная информация

64-Разрядное средство администратора ODBC могут быть вызваны из панели управления для управления пользовательских источников данных и системных источников данных, которые используются 64-разрядные процессы. В 64-разрядной операционной системе 32-разрядное средство администратора ODBC используется для Windows на процессы Windows 64 (WOW64). Необходимо непосредственно вызывать 32-разрядной программы Администратор ODBC из папки SysWoW64. 32-Разрядное средство администратора ODBC можно использовать для управления пользовательских источников данных и системных источников данных, используемых процессами WOW64.

Системные источники данных хранятся в следующем подразделе реестра:
HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI
Перенаправление реестра включен для этого подраздела реестра. Таким образом разделенных системных источников данных для драйверов 32-разрядных и 64-разрядные драйверы. 64-Разрядное средство администратора ODBC не отображает системных источников данных, созданные в 32-разрядное средство администратора ODBC. Аналогичным образом 32-разрядное средство администратора ODBC не отображает системных источников данных, созданные с помощью 64-разрядной программы Администратор ODBC. Кроме того 64-разрядной программы Администратор ODBC не отображает системных источников данных, которые используют 32-разрядные драйверы. Аналогичным образом 32-разрядное средство администратора ODBC не отображает системных источников данных, использующих 64-разрядные драйверы.

DSN пользователя хранятся в следующем подразделе реестра:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
Перенаправление реестра не включена для этого параметра реестра. Таким образом оба средства администратора ODBC отображения всех пользовательских источников данных.

Дополнительные сведения о перенаправлении реестра посетите следующий веб-узел Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/aa384232.aspx

Свойства

Код статьи: 942976 - Последний отзыв: 9 февраля 2014 г. - Revision: 9.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Open Database Connectivity 4.21
Ключевые слова: 
kbexpertiseadvanced kbtshoot kbprb kbmt KB942976 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 942976

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com