Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Dsn архитектура драйвера и архитектура приложения

Dsn архитектура драйвера и архитектура приложения

Доброе время суток, уважаемые коллеги!

Возникла проблема следующего содержания:
Имеется 32-х разрядное приложение (сделано на Visual C++, точнее на MFC 9.0), оно отлично работает как с Windows 7/32, так и с Windows 7/64.
Однако, имеется одна очень существенная проблема — при подсоединении к ODBC DSN (через SQL Server Native Client драйвер ODBC) — connect к БД не происходит. Со стороны драйвера идёт сообщение об ошибке:

[Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.

Я так понимаю, что причина данной проблемы в том, что 32-х разрядное приложение пытается соединиться с 64-х разрядным драйвером?
Подскажите, пожалуйста, кто в теме, как можно решить данную проблему.

Заранее благодарен всем, высказавшим свою точку зрения!

От: BlackErichttp://black-eric.lj.ru
Дата:17.01.14 14:31
Оценка:

AG>[Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.

AG>Я так понимаю, что причина данной проблемы в том, что 32-х разрядное приложение пытается соединиться с 64-х разрядным драйвером?
AG>Подскажите, пожалуйста, кто в теме, как можно решить данную проблему.

Ставить 32 битного SQL Server Native Client.

От: Alex.Che
Дата:17.01.14 15:24
Оценка: 3 (1)

Hello, AlexGin!
You wrote on Fri, 17 Jan 2014 14:15:50 GMT 17 января 2014 г. 18:15:50

> Однако, имеется одна очень существенная проблема — при подсоединении к
> ODBC DSN (через SQL Server Native Client драйвер ODBC) — connect к БД
> не происходит.


With best regards, Alex Cherednichenko.

От: AlexGin
Дата:17.01.14 15:55
Оценка:

Здравствуйте, Alex.Che, Вы писали:

AC>Hello, AlexGin!
AC>You wrote on Fri, 17 Jan 2014 14:15:50 GMT 17 января 2014 г. 18:15:50

>> Однако, имеется одна очень существенная проблема — при подсоединении к
>> ODBC DSN (через SQL Server Native Client драйвер ODBC) — connect к БД
>> не происходит.

AC>http://support.microsoft.com/kb/942976/en-us

AC>—
AC>With best regards, Alex Cherednichenko.

+100500
Огромное спасибо! Это очень помогло! Удалось решить данную проблему.

Подключение MySQL в Excel

Приложение Excel позволяет создавать подключение к внешним источникам, в том числе базам данных. Но при необходимости подключиться к базе данных под управлением СУБД MySQL, возникает проблема. Программа просто «не умеет» этого делать, но «научить» ее легко.

Установка драйвера

Прежде необходимо установить драйвер Connector/ODBC от Oracle Corporation, скачать который можно по адресу http://dev.mysql.com/downloads/connector/odbc/ (при выборе драйвера под определенную ОС есть важный нюанс, который будет описан ниже).

Создание источника данных

Далее необходимо создать источник данных ODBC. Для этого заходим в «Панель управления», выбираем пункт «Администрирование», в нем пункт «Источники данных (ODBC)». Откроется следующее окно:

Выбираем «Добавить» и попадаем в меню выбора драйвера:

В списке имеется два возможных драйвера для MySQL различных кодировок: Unicode и ANSI. Выбирайте необходимую Вам. Если не знаете, какая Вам нужна, или это не имеет значения, то лучше устанавливать Unicode.
В параметрах подключения указываете:

  1. Произвольное название источника;
  2. Описание источника;
  3. Сервер и порт. Порт оставляйте по умолчанию, если того не требуют настройки сервера;
  4. Пользователь и пароль, как при подключении в phpMyAdmin.

Протестируйте подключение к источнику, нажав кнопку «Test». Если подключение прошло успешно, то в списке баз данных «Database» должен появиться список доступных баз. Выдираем необходимую и жмем «OK». Источник создан.

Подключение к источнику из Excel

Проходим в книге Excel на вкладку «Данные» -> раздел «Подключения» -> «Из других источников» -> «Из мастера подключения данных».

Выбираем «ODBC DSN» -> созданное ранее подключение.

Дальнейшая работа аналогична стандартному подключению к SQL Server.

Ошибка совпадения архитектур

После установки соответствующего драйвера на 64-разрядную ОС, создании источника и подключения к нему, даже если все сделано правильно, может быть выдана ошибка «dns архитектура драйвера и архитектура приложения не соответствуют друг другу».
Проблема заключается в следующем. Вероятно, что во время инсталляции пакета программ Microsoft Office были выбраны параметры по умолчанию, при которых устанавливается 32-рязрядная версия. Таким образом, происходит несовпадение разрядностей драйвера и приложения.
Решение – скачать и установить дополнительно драйвер для Windows 32-bit.
Если установить только 32-битный драйвер, то подключение будет возможно, но создать источник через панель управления не получиться.

Читать еще:  Visual studio окно ошибок

Указанный DSN содержит несоответствие архитектуры между Драйвером и Приложением. ЯВА

Я пытаюсь подключиться к базе данных, созданной MS Access, используя Java, но я не могу справиться. Я использую ODBC, и я получаю это исключение:

java.sql.SQLException: [Microsoft] [диспетчер драйверов ODBC] Указанный DSN содержит несоответствие архитектуры между драйвером и приложением

18 ответов

100 Pecos Bill [2012-09-21 22:59:00]

Никто из них не сделал это для меня. Я нашел ответ на MSDN. Однако были намеки на это. Архитектура ошибки ссылается на 32 против 64 бит. Мое решение состояло в том, чтобы выяснить, какое приложение работает под (Access), в котором находится 32b. Я нашел это, посмотрев вкладку «Процесс» Диспетчера задач, где все 32b-процессы имеют * 32 конец своих имен. Как было сказано, панель управления запускает 64-битную версию ODBC здесь

и 32-битная версия:

c:windowssysWOW64odbcad32.exe (проще всего скопировать и вставить в диалог запуска)

Итак, я установил DSN с именами, заканчивающимися на 32 и 64 в каждой из соответствующих панелей управления ODBC (администратор AKA), которые указывали на то же самое. Затем я выбрал/выбрал правильный вариант в зависимости от того, используется ли это приложение 32b или 64b.

20 Azolla99 [2013-06-22 04:36:00]

Вы получаете эту ту же самую ошибку при попытке подключиться к базе данных MySQL из MS-Access, когда битовая версия (32 против 64) Access не соответствует

  • бит версии драйвера ODBC, который вы используете
  • битную версию ODBC Manager, которую вы использовали для ее настройки.

Для тех из вас, кто пытается подключить MS-Access к MySQL в 64-битной системе Windows, я прошел через пытки, пытаясь заставить его работать как с MS-Access 2010, так и с MS-Access 2013. Наконец, и вот уроки, которые я изучил на этом пути:

Я купил новый Windows 7, 64-разрядный ноутбук, и у меня есть приложение, которое полагается на MS-Access, используя таблицы MySQL.

Я установил последнюю версию MySQL, 5.6, используя установку пакета All In One. Это позволяет одновременно установить как базу данных, так и драйверы ODBC. Это хорошо, но драйвер ODBC, который он устанавливает, кажется 64-разрядным, поэтому он не будет работать с 32-разрядным MS-Access. Это также кажется немного багги — не обязательно на этом. Когда вы добавляете новый DSN в ODBC Manager, этот драйвер отображается как «Microsoft ODBC for Oracle». Я не мог заставить его работать. Мне пришлось установить 32-битный, который обсуждается ниже.

  • После установки MySQL работал нормально. Я восстановил базу данных приложения MySQL обычным способом. Теперь я хочу подключиться к нему с помощью MS-Access.

Ранее я установил Office 2013, который я предположил, был 64 бит. Но после проверки версии (File, Account, About Access) я вижу, что она 32 бит. Оба Access 2010 и 2013 чаще всего продаются как 32-разрядные версии.

Моя машина — 64-битная машина. Таким образом, по умолчанию, когда вы идете настроить свой DSN для MS-Access и обычным образом переходите в ODBC Manager через панель управления, «Административные параметры», вы получаете 64-разрядный диспетчер ODBC. Вы не можете этого знать! Ты просто не можешь сказать. Это огромная добыча! Из этого невозможно установить DSN и успешно подключиться к MS Access 32 бит. Вы получите страшную ошибку:

«указанный dsn содержит несоответствие архитектуры. «

Вы должны загрузить и установить 32-битный драйвер ODBC из MySQL. Я использовал версию 3.5.1

Вы должны сообщить диспетчеру ODBC на панели управления возможность совершить поход и вместо этого явно вызвать 32-разрядный ODBC-менеджер с помощью этой команды, выполненной в командной строке «Пуск»:

Я создал ярлык для этого на моем рабочем столе. Отсюда создайте свой DSN с этим менеджером. Важный момент: СОЗДАЙТЕ КАК СИСТЕМУ DSNS, НЕ ПОЛЬЗОВАТЕЛЬСКИХ DSNS! Это немного помогло мне.

Кстати, 64-разрядная версия ODBC Manager также может быть запущена явно как:

После того, как вы установили 32-разрядный драйвер ODBC из MySql, при нажатии кнопки «Добавить» в ODBC Manager вы увидите 2 указанных драйверов. Выберите «MySQL ODBC 5.2 ANSI Driver». Я не пробовал драйвер UNICODE.

Читать еще:  Операционные системы и оболочки операционная система linux

Это так. После того, как вы определили свой DSN в 32-разрядном ODBC-менеджере, вы можете подключиться к MySQL обычным способом изнутри Access — внешние данные, базу данных ODBC, ссылку на базу данных, выбрать «Источник механических данных» и DSN, созданный в вашем MySQL база данных будет там.

7 Mob [2012-01-17 17:07:00]

Там несоответствие архитектуры. Драйвер JDBC и ваш JDK должны иметь одинаковую архитектуру. Если вы используете 32-битный драйвер и ваш JDK — 64 бит, вы получите эту ошибку.

Исправление: зависит от вашей архитектуры.

Вам понадобится 64-разрядные драйверы, если ваша Java — 64-разрядная.

2 sai [2012-07-08 08:28:00]

По умолчанию Командная строка подключена к System32. Запустите 64-битную командную строку, т.е. C:WINDOWSSYSWOW64CMD.EXE . В этом случае скомпилируйте и запустите приложение Java.

Проблема, с которой вы столкнулись, может быть связана с тем, что: у вас были 32-битные версии Office 32 и Command Prompt 64 бит. Чтобы решить проблему, вам нужно выполнить следующие шаги:

Откройте ODBC Manager для DSN, используя: C:WindowsSysWOW64odbcad32.exe Это откроет ODBC Data Administrator для 32-битной версии, и вы увидите все драйверы базы данных.

После этого вам нужно открыть 32-битную командную строку, используя: C:WindowsSysWOW64cmd.exe Это откроет 32-битную версию командной строки. В этом новом CMD, пожалуйста, перекомпилируйте свою программу Java и запустите свою программу.

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

После установки драйвера ODBC из программы установки драйвера вы можете определить для него один или несколько источников данных. Имя источника данных (DSN) должно предоставлять уникальное описание данных; например, расчет заработной платы или кредиторской задолженности. Источники пользовательских и системных данных, которые определены для всех установленных драйверов, перечислены на вкладках User DSN или System DSN диалогового окна «Администратор источника данных ODBC». Источники файлов данных в данном каталоге перечислены на вкладке «Файл DSN»; каталог, который будет показан, вводится в поле «Поиск» на вкладке «Файл DSN». System_CAPS_noteNote

Чтобы управлять источником данных, который подключается к 32-разрядному драйверу под 64-разрядной платформой, используйте c:windowssysWOW64odbcad32.exe. Чтобы управлять источником данных, который подключается к 64-битовому драйверу, используйте c:windowssystem32odbcad32.exe. В «Администрировании» в 64-разрядной операционной системе Windows 8 есть значки для 32-битного и 64-битного диалогового окна «Администратор источника данных ODBC».

Если вы используете 64-разрядный odbcad32.exe для настройки или удаления DSN, который подключается к 32-разрядному драйверу, например, Driver do Microsoft Access (*.mdb), вы получите следующее сообщение об ошибке:

Указанный DSN содержит несоответствие архитектуры между Драйвером и Приложением

Чтобы устранить эту ошибку, используйте 32-разрядный файл odbcad32.exe для настройки или удаления DSN.

Источник данных связывает конкретный драйвер ODBC с данными, которые вы хотите получить через этот драйвер. Например, вы можете создать источник данных для использования драйвера ODBC dBASE для доступа к одному или нескольким файлам dBASE, найденным в определенном каталоге на вашем жестком диске или сетевом диске. Используя ODBC Data Source Administrator, вы можете добавлять, изменять и удалять источники данных, как описано в следующей таблице.

Немного поздно, но так как я столкнулся с той же проблемой, в вашем конкретном сценарии, я решил, что добавлю свое решение.

У меня Windows 7 (64-разрядная версия) и Office 2010 (32-разрядная версия). Я попытался с помощью строки подключения DSN-less:

и я попытался подключиться к DSN, используя как системные, так и SysWOW64-версии ODBC Admin, и ни одно из них не работало.

Что в конечном итоге сработало, должно было соответствовать бит-версии Java с разрядной версией Office. Как только я это сделал, я мог бы использовать либо режим DSN или DSN, но без каких-либо проблем.

Создайте ли DSN сначала в панели управления > «Администрирование» > «ODBC» > «Системный DSN». Назовите его так же, как «myDatabase», и если я попрошу найти файл базы данных/доступа, укажите путь, используя опцию просмотра. После того, как ур DSN будет создан успешно, вы сможете легко получить доступ к Ур БД.

0 deepak [2012-06-07 07:46:00]

Если вы используете netbeans, перейдите в tools- > java Platform, измените jdk_home, который указывает на c:/programfiles/java/jdk1_7 на c: programFiles (x86)/java/jdk1_6_21

Читать еще:  Архитектура субд это

если не редактируется найдите netbeans.cnf и внесите изменения, как указано abouve для jdk_home. перезагрузите чистые чипы и как это работает У меня была та же проблема, но я работал.

0 Raj Kumar [2016-03-12 15:18:00]

Чтобы решить эту проблему, сначала убедитесь, что ваше программное обеспечение java должно быть 32-битной версией, если оно 64-разрядная версия явно показывает ошибку несоответствия, поэтому попробуйте переустановить 32-разрядную версию Java и выполните java-программу в команде c:windowssysWOW64odbcad32.exe(проще всего скопировать и вставить в диалоговом окне запуска), чтобы ваша программа определенно работала

Чтобы решить эту проблему, сначала убедитесь, что ваше программное обеспечение java должно быть 32-битной версией, если оно 64-разрядная версия явно показывает ошибку несоответствия, поэтому попробуйте переустановить 32-разрядную версию java И выполнить java-программу в команде c:windowssysWOW64odbcad32.exe (проще всего скопировать и вставить в диалог запуска) что ваша программа определенно работает

Я исправил ошибку.

Выполните следующие действия:

  • Установите версию JDK версии 32bt
  • Установить MS-Office 2007

Настроить панель управления: а. Панель управления b. Инструменты администратора c. Источник данных (ODBC)

щелкните правой кнопкой мыши по нему, чтобы изменить цель на sysWOW64odbcad32.exe изменить начало на r%SysWOW64

Выполните его и удачи. Работает в Windows 7, а также 8

Удалите новую версию MS-Office и установите только MS-Office 2007, если проблема по-прежнему сохраняется

У меня возникла большая проблема, связанная с MySQL с 64-разрядного ноутбука, работающего под управлением Windows 7 с использованием MS Access 2010. Я нашел, что предыдущая статья очень полезна, но до сих пор не удалось подключиться с помощью odbc 3.5.1. Поскольку ранее я связал 32-битную машину с использованием Connector/ODBC 5.1.13, я загрузил эту версию и настроил ее, используя приведенные выше инструкции. Успех. Ответ заключается в том, чтобы попробовать разные версии Connector.odbc.

Я столкнулся с этой проблемой при обновлении до сервера Windows 7 с некоторыми устаревшими приложениями CLASP. Пытается запустить 32-битное приложение на 64-битной машине.

Попробуйте настроить пулы приложений на 32-разрядную совместимость с True и/или создать dsn в 32 и 64 бит.

Откройте окно источника данных odbc в обеих версиях из окна запуска. C:WindowsSysWOW64odbcad32.exe C:Windowssystem32odbcad32.exe

0 Andrew [2014-07-07 06:59:00]

Я столкнулся с этой проблемой. Это связано с архитектурой компьютера и используемой архитектурой базы данных.

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

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

  • Знание операционной системы — 64 бит, но ваш Microsoft Office — 32 бита.
  • Итак, чтобы вы могли получить доступ к своей базе данных с помощью NetBean IDE (при условии, что вы используете это), вам необходимо установить 32-битный JDK. Если вы установили 64 бита, вам необходимо удалить его и установить 32 бита.

Вы не можете получить доступ к своей базе данных, потому что ваша 64-разрядная JVM не такая же, как 32-разрядная JVM.

Чтобы добавить свою базу данных в свою систему 1. Панель управления 2. Инструменты администратора 3. Источник данных (ODBC) щелкните правой кнопкой мыши по нему, изменив цель на SysWOW64odbcad32.exe изменить начало в г%SysWOW64

Затем вы сможете запустить. Сообщите мне, если у вас возникли проблемы с этим.

Я думаю, что это также будет более полезным.

для соответствия пропуску архитектуры,

Я просто скопирую файл jdk из 32-битного файла C:Program Files (x86)Javajdk1.7.0_71 и вставьте его в 64-битный файл. C:Program FilesJavajdk1.7.0 _10, затем переименуйте файл в соответствии с замененным файлом, чтобы избежать ошибки IDE (netbeans)

тогда вам будет хорошо.

Примечание: Вы должны обмануть 64-битные файлы, поэтому, когда вы хотите создать 64-битное приложение, вы можете вернуть его в свое местоположение.

0 Senthil [2014-04-04 20:30:00]

Если вы подключаетесь к 64-битной платформе с помощью 32-разрядного драйвера, запустите исполняемый файл C:WindowsSysWOW64odbcad32.exe и создать DSN. Он будет работать.

Перейдите по этой ссылке и загрузите драйвер ODBC для 64-разрядной ОС.

Ссылка на основную публикацию
Adblock
detector