Подключить Mysql к Crystal Report Logon: Failed [duplicate]

Лучше использовать try-with-resources, а затем все, что pre-java 7 finally business

  static void appendStringToFile (файл пути, строка) бросает IOException {try (BufferedWriter out = Files.  newBufferedWriter (файл, StandardCharsets.UTF_8, StandardOpenOption.APPEND)) {out.append (s);  out.newLine ();  }}  
76
задан user1028408 17 January 2012 в 15:56
поделиться

18 ответов

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

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

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

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

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

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

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

Спасибо!

0
ответ дан Andrew 15 August 2018 в 14:38
поделиться

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

0
ответ дан Ankur Jain 15 August 2018 в 14:38
поделиться
  • 1
    Я создал свой DSN с ODBC, который я нашел в C: \ Windows \ SysWOW64 ... У одного в панели управления почти не было драйверов, кроме тех, что были для SQL-сервера. – user1028408 17 January 2012 в 16:11
  • 2
    то вы должны установить драйверы, потому что без этих драйверов вы не можете подключиться к ODBC. – Ankur Jain 17 January 2012 в 16:16
  • 3
    у вас есть ссылка на эти драйверы? Я попытался установить некоторые, но они не сработали. – user1028408 17 January 2012 в 16:26
  • 4
  • 5
    Я загрузил их и заменил строку подключения: Connection dbConnection = DriverManager.getConnection (& quot; Драйвер = {Microsoft Access Driver (* .mdb, * .accdb)}; DBQ = C: \\nользователи \\ Владелец \\ Документы \\ myDatabase.mdb & Quot;, & Quot; администратор & Quot;, & Quot; & Quot;); но это все еще дает мне неприятности. Может быть, мне нужно изменить что-то еще в коде? – user1028408 17 January 2012 в 16:47

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

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

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

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

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

0
ответ дан assenga priva 15 August 2018 в 14:38
поделиться

Я видел этот ответ, и это сработало для меня. https://msdn.microsoft.com/en-us/library/ms712362%28v=vs.85%29.aspx

После того, как вы установили драйвер 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».

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

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

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

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

1
ответ дан Bineesh Kumar 15 August 2018 в 14:38
поделиться
  • 1
    Привет, Бинеш Кумар, не могли бы вы кратко объяснить – Raj Kumar 19 April 2016 в 07:29

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

c:\windows\system32\odbcad32.exe

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

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

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

114
ответ дан Community 15 August 2018 в 14:38
поделиться
  • 1
    я пробовал 64-битную версию и запускал ее как администратор, но она также не работает! – Fatima Zohra 5 December 2012 в 20:55
  • 2
    Должна быть бит-гармония. Если для приложения 32, для него должна быть 32-битная конфигурация. Если в приложении 64, у вас должен быть 64. Я не пытался создавать конфигурации с тем же именем, потому что я не хотел, чтобы они не синхронизировались (забудьте изменить оба одновременно). Вы не дали мне достаточно информации, чтобы попытаться предложить предложения. Надеюсь, вы поняли это. (Почему они не могут сделать так просто и создать одно 64-битное приложение, которое настраивает как 64-разрядные, так и 32-разрядные среды?) – Pecos Bill 9 March 2013 в 03:27
  • 3
    И, как было сказано ниже, все же не очевидно, задействованные драйверы также должны соответствовать (вероятно, лучше всего установить 32 и 64), хотя я не думаю, что вы можете выбрать драйвер, если это не соответствующая архитектура. – Pecos Bill 9 March 2013 в 03:30
  • 4
    Это также помогло мне расшифровать, почему мой 32-битный Excel не смог подключиться к нашему серверу Hadoop Hive, используя 64-битный драйвер ODBC для кукушки Cloudea. Как только я переключаюсь на 32-битный разъем, он отлично работает! – Mark Vickery 29 May 2014 в 14:40
  • 5
    Поэтому, чтобы быть ясным: вы не можете настроить 32-разрядное соединение ODBC PostgreSQL через обычный графический интерфейс Windows в 64-разрядной системе. Вместо этого вам нужно закрыть ODBC Data Source Administrator (если он открыт в данный момент), запустите c:\windows\sysWOW64\odbcad32.exe и настройте соединение оттуда. Затем вы можете использовать это соединение в 32-битной программе для доступа к базе данных. – Ajedi32 10 November 2015 в 22:24

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

2
ответ дан cxw 15 August 2018 в 14:38
поделиться

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

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

0
ответ дан deepak 15 August 2018 в 14:38
поделиться

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

  1. Я установил последнюю версию MySQL, 5.6 , используя установку пакета «Все в одном». Это позволяет одновременно установить как базу данных, так и драйверы ODBC. Это хорошо, но драйвер ODBC, который он устанавливает, кажется 64-разрядным, поэтому он не будет работать с 32-разрядным MS-Access. Это также кажется немного багги - не обязательно на этом. Когда вы добавляете новый DSN в ODBC Manager, этот драйвер отображается как «Microsoft ODBC for Oracle». Я не мог заставить его работать. Мне пришлось установить 32-битный, который обсуждается ниже. После установки MySQL работал отлично. Я восстановил базу данных приложения MySQL обычным способом. Теперь я хочу подключиться к нему с помощью MS-Access.
  2. Я ранее устанавливал Office 2013, который я предположил, был 64 бит. Но после проверки версии (File, Account, About Access) я вижу, что она 32 бит. Оба Access 2010 и 2013 чаще всего продаются как 32-разрядные версии.
  3. Моя машина - 64-битная машина. Поэтому по умолчанию, когда вы отправляете настройки своего DSN для MS-Access и обычным образом переходите в ODBC Manager через панель управления, «Административные параметры», вы получаете 64-разрядный менеджер ODBC. Вы не можете этого знать! Ты просто не можешь сказать. Это огромная добыча! Из этого невозможно установить DSN и успешно подключиться к MS Access 32 бит. Вы получите страшную ошибку: «указанный dsn содержит несоответствие архитектуры ...»
  4. Вы должны загрузить и установить 32-битный драйвер ODBC из MySQL. Я использовал версию 3.5.1 http://dev.mysql.com/downloads/connector/odbc/3.51.html
  5. Вы должны сообщить диспетчеру ODBC на панели управления поход и должен явно вызывать 32-битный ODBC-менеджер с помощью этой команды, выполненной в командной строке «Пуск»: c: \ windows \ sysWOW64 \ odbcad32.exe. Я создал ярлык для этого на моем рабочем столе. Отсюда создайте свой DSN с этим менеджером. Важный момент: СОЗДАЙТЕ КАК СИСТЕМУ DSNS, НЕ ПОЛЬЗОВАТЕЛЬСКИХ DSNS! Это немного помогло мне. Кстати, 64-разрядную версию ODBC Manager можно также запустить явно: c: \ windows \ system32 \ odbcad32.exe
  6. После того, как вы установили 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 база данных будет там.

23
ответ дан Malachi 15 August 2018 в 14:38
поделиться
  • 1
    спасибо за все подробности! – Dirk Hartzer Waldeck 15 May 2014 в 10:34
  • 2
    Я думаю, вы переключили пути для двух менеджеров ODBC 32 bit: c:\windows\system32\odbcad32.exe 64 bit: c:\windows\sysWOW64\odbcad32.exe – Jrgns 12 August 2014 в 15:37
  • 3
    @Jrgns Нет, они не переключаются. sysWOW64 - фактически 32-битный каталог. Windows любит сбивать с толку. Вы узнаете, какую версию используете, потому что она отобразит (32-разрядную) или (64-разрядную) строку заголовка ODBC Data Source Administrator. – Tim Leaf 5 June 2017 в 19:24

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

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

  1. Установите JDK версии 32bt
  2. Установите MS-Office 2007
  3. Настроить панель управления: a. Панель управления b. Инструменты администратора c. Источник данных (ODBC) щелкните правой кнопкой мыши по нему, чтобы изменить цель на \sysWOW64\odbcad32.exe, измените начало на r%\SysWOW64

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

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

0
ответ дан Mallikarjuna Reddy 15 August 2018 в 14:38
поделиться

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

См. this

Fix: зависит от вашей архитектуры.

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

Загрузить: http://www.microsoft.com/downloads/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en

8
ответ дан Mob 15 August 2018 в 14:38
поделиться
  • 1
    Как это исправить? – user1028408 17 January 2012 в 16:08
  • 2
    сейчас. – user1028408 17 January 2012 в 16:20
  • 3
    я загрузил его и попробовал новую строку подключения, как указано в инструкциях, но она все еще не работает. Может быть, я делаю что-то не так? – user1028408 17 January 2012 в 16:40

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

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

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

1
ответ дан Musa 15 August 2018 в 14:38
поделиться

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

0
ответ дан Opal 15 August 2018 в 14:38
поделиться

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

http://www.microsoft.com/en-us/download/details.aspx?id=13255

-1
ответ дан Pratik Solanki 15 August 2018 в 14:38
поделиться

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

0
ответ дан Raj Kumar 15 August 2018 в 14:38
поделиться

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

0
ответ дан Senthil 15 August 2018 в 14:38
поделиться

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

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

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=I:/TeamForge/ORS/CTFORS.accdb

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

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

1
ответ дан Spencer Kormos 15 August 2018 в 14:38
поделиться
  • 1
    Я подразумевал это из ответа Моба, но спасибо за подтверждение. Какой беспорядок! – Kevin Bowersox 26 June 2014 в 15:05

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

0
ответ дан user2909327 15 August 2018 в 14:38
поделиться

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

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

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

0
ответ дан user3183695 15 August 2018 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: