MySQL Migration Toolkit Java Runtime Ошибка

Когда я пытаюсь запустить графический интерфейс MySQL Migration Toolkit в Windows, я получаю сообщение об ошибке, в котором говорится, что Java не установлена. Java установлена, но Migration Toolkit не распознает ее. Кто-нибудь знает, как решить эту проблему?

3 ответа

Решение

Вы действительно должны попробовать новый Мастер миграции, который поставляется с последними версиями MySQL Workbench. MySQL Migration Toolkit был снят с производства несколько лет назад и не находится в стадии активной разработки.

Для ознакомления с руководством по мастеру миграции ознакомьтесь с практическими рекомендациями : руководство по миграции базы данных с Microsoft SQL Server с использованием MySQL Workbench.

Ну, для того, чтобы это сработало, решение действительно легко. Перейдите в папку, в которой вы установили MySQL Migration Toolkit. Сделайте ярлык, например, на рабочем столе исполняемого файла MySQLMigrationTool.exe
Затем щелкните правой кнопкой мыши на ярлыке, который вы только что создали, и на цели измените его следующим образом.

"C:\Program Files (x86)\MySQL\MySQL Migration Toolkit 1.0\MySQLMigrationTool.exe" -verbose -jvm **The Path to your 32bit jvm.dll** 

например для моей установки с jre1.8.0_45 было

"C:\Program Files (x86)\MySQL\MySQL Migration Toolkit 1.0\MySQLMigrationTool.exe" -verbose -jvm ***"C:\Program Files (x86)\Java\jre1.8.0_45\bin\client\jvm.dll"***

В любом случае, если еще есть кто-то, кто борется с MySQL Migration Toolkit и jre 1.8, я бы посоветовал прекратить беспокоиться, потому что после исправления загрузки путем установки jvm.dll он не может выполнить шаг Reverse Engeneering с этим сообщением:

    The schema could not be reverse engineered (error: 0).
ReverseEngineeringAccess.reverseEngineer :sun.jdbc.odbc.JdbcOdbcDriver
Details: 
java.net.URLClassLoader.findClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
com.mysql.grt.modules.ReverseEngineeringGeneric.establishConnection(ReverseEngineeringGeneric.java:84)
com.mysql.grt.modules.ReverseEngineeringAccess.reverseEngineer(ReverseEngineeringAccess.java:92)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.mysql.grt.Grt.callModuleFunction(Unknown Source)

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

Migration Toolkit 1.0.25

IBM JRE 5.0 (у меня это было в системе) - пришлось установить JVM, как упоминал Джон.

Используйте драйвер Oracle JDBC для своей базы данных (12c ojdbc8), но его необходимо переименовать в ojdbc14.jar и использовать.

Удалите файлы mysql-connector-java-3.1... (3 файла) из MySQL Migration Toolkit 1.0\java\lib и поместите mysql-connector-java-5.1.44.jar

Запустите инструмент.

Я использовал mysql_native_password для пользователя MySQL:- ALTER USER 'mysqluser'@'%' ИДЕНТИФИЦИРОВАНО С mysql_native_password BY 'pass';

Другие вопросы по тегам