В указанном dsn архитектура драйвера и архитектура приложения не соответствуют друг другу

Обновлено: 05.07.2024

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

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

и 32-битная версия находится здесь:

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

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

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

  1. бит версии используемого драйвера ODBC
  2. битную версию 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 Manager с помощью этой команды, выполненной в командной строке «Пуск»:

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

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

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

Это и есть. После того, как вы определили свой DSN в 32-разрядном ODBC-менеджере, вы можете подключиться к MySQL обычным способом изнутри Access - External Data, ODBC Database, Link to the Database, выберите Machine Data Source и DSN, которые вы создали для своего MySQL база данных будет там.

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

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

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

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

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

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

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

ОТВЕТЫ

Ответ 1

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

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

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

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

Ответ 2

Вы получаете эту ту же самую ошибку при попытке подключиться к базе данных 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.

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

Ответ 3

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

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

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

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

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

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

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

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

Ответ 7

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

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

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

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

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

Ответ 8

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

Ответ 9

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

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

Ответ 10

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

Ответ 11

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

Ответ 12

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

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

Откройте окно источника данных odbc в обеих версиях из окна запуска. C:\Windows\SysWOW64\odbcad32.exe C:\Windows\system32\odbcad32.exe

Ответ 13

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

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

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

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

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

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

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

Ответ 14

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

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

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

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

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

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

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

Ответ 15

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

Ответ 16

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

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

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

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

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

Ответ 17

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

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

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

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

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

источник данных ODBC

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

выбор драйвера MySQL

В списке имеется два возможных драйвера для 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-битный драйвер, то подключение будет возможно, но создать источник через панель управления не получиться.


Я новичок в informatica, я установил informatica 9.5.1 htfix2 на свой диск с конфигурацией: Win 7 64-битная ОС, Oracle 11g, Informatica 9.5.1 htfix2.


может ли кто-нибудь помочь мне решить эту проблему.

Готов поспорить, вы используете 64-битный драйвер ODBC. Удалите DSN из 64-битной версии и добавьте ее в 32-битную (odbcad32.exe).
Источник

  • как удалить 64-битный драйвер ?? ты бы предложил мне. не влияет ли это на мою ОС?
  • Вы бы не удалили 64-битный драйвер только DSN внутри него. Как вы для начала добавили DSN в odbcad? Идите туда и удалите это. После выполнения этого поиска (или, возможно, вам придется загрузить его) для odbcad32.exe и добавить туда DSN.
  • Я удалил созданный ранее DSN. Я нашел odbcad32.exe, я должен снова добавить DSN оракула 11g ??
  • Я сделал то, что вы сказали, но проблема все еще существует.
  • Ссылайтесь на источник, который я дал в своем ответе, и убедитесь, что ваши настройки им соответствуют. Также проверьте это

Я нашел решение после семи-восьми часов работы. Я туплю от его простоты: p.