MySQL迁移工具包Java运行时错误
-
12-12-2019 - |
题
当我尝试在Windows中运行MySQL迁移工具包GUI时,我收到未安装状态Java的错误。Java已安装,但迁移工具包无法识别它。有人知道如何解决这个问题吗?
解决方案
您应该真的尝试最近MySQL工作台版本的新迁移向导。MySQL迁移工具包几年前已经淘汰,并不在积极开发中。
在迁移向导上进行教程,请查看 how-to:来自Microsoft SQL Server的数据库迁移指南使用mysql workbench 。
其他提示
井是为了使这个解决方案非常容易。
转到文件夹已安装MySQL迁移工具包。
做一个捷径。到了可执行文件的桌面 mysqlmigrameTool.exe
然后右键单击刚刚创建的快捷方式,然后在 target 上修改它,如此
.
"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"***
Anyway, if there's still somebody struggling with the MySQL Migration Toolkit and jre 1.8 I would suggest to stop bothering because after fixing the boot by setting the jvm.dll it fails performing the Reverse Engeneering step with this message:
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)
I got the tool running and migrated most of the tables but is not happy with the result because many table creation failed. Still it is useful since I got the script so that I can edit it later. I used these versions
Migration Toolkit 1.0.25
IBM JRE 5.0 (I had this in system) - Had to set the JVM as mentioned by John.
Use Oracle JDBC driver for your database(12c ojdbc8) but it must be renamed to ojdbc14.jar and use.
Delete mysql-connector-java-3.1... files(3 files) from MySQL Migration Toolkit 1.0\java\lib and place mysql-connector-java-5.1.44.jar
Run the tool.
I used mysql_native_password for the MySQL user :- ALTER USER 'mysqluser'@'%' IDENTIFIED WITH mysql_native_password BY 'pass';