Bug #37449 Cannot migrate passworded Access database
Submitted: 17 Jun 2008 15:29 Modified: 3 Jul 2008 23:42
Reporter: Chris Wilson Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any
Tags: microsoft access password database migration
Triage: Triaged: D5 (Feature request) / R3 (Medium) / E3 (Medium)

[17 Jun 2008 15:29] Chris Wilson
Description:
It's difficult to use the Migration Tool to migrate from an Access database with a password. When I try, whether I leave the Username field blank, or enter "Admin" or anything else, I always get this error at the Reverse Engineering stage:

Initializing JDBC driver ... 
Driver class MS Access
Opening connection ... 
Connection jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\doc\chris\Camfed\Trunk\CAMFED Data 3 Ghana 220208.mdb;DriverID=22;READONLY=true;UID=;PWD=MYPASSWORD}
The schema could not be reverse engineered (error: 0).
ReverseEngineeringAccess.reverseEngineer :[Microsoft][ODBC Microsoft Access Driver] Not a valid password.
Details: 
sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
com.mysql.grt.modules.ReverseEngineeringGeneric.establishConnection(ReverseEngineeringGeneric.java:141)
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)

A workaround is to enter a full JDBC URL with the password as the source, for example:

jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D://doc//chris//camfed//trunk//CAMFED Data 3 Ghana 220208.mdb;PWD=MYPASSWORD;

However it is inconvenient for users to write a JDBC URL by hand.

How to repeat:
Create an Access database with a password.

Try to migrate it to MySQL with the Migration Tool.

Suggested fix:
Fix the JDBC URL so that the UID parameter is left out for Access databases. Access only has passwords on databases, not user names.
[3 Jul 2008 23:42] Miguel Solorzano
Thank you for the bug report.
[19 Oct 2009 10:22] Susanne Ebrecht
Many thanks for writing a bug report. We are on the way to implement full functionality of MySQL Migration Tool into MySQL Workbench. We won't fix this anymore.

But we will take this bug report as Workbench feature requst for the new implematation of Migration Toolkit into Workbench.

More informations about MySQL Workbench you will find here:

http://dev.mysql.com/workbench/