I used the Migration Toolkit for getting data from an Oracle DB and I found 3 issues.
I could finally get the data using workarounds but please take a look at them as they are annoying.
Scenario 1
Start a new session
Select the mysql connection and destination database
Select the ODBC connection
Select Copy table
I get the table list (it is a big one, about 5 hundred tables)
In the table list I drag the cursor on the scrollbar somewhere to the middle of the list
Then I click on the scrollbar in order to go down page-by-page starting to the position where I dragged it in the middle of the list
The scrollbar cursor goes to the top of the table list and the navigation starts from there, not from the middle of the list
Scenario 2
Start a new session
Select the mysql connection and destination database
Select the ODBC connection
Select Copy table
I get the table list
I select one table
I go to the Column Mapping and I deselect many columns (I keep only few of them). I set all the other details for the remaining columns. I press EditSQL in order to check the create table script and it looks fine.
I validate the changes by pressing OK in the Column Mapping window
I run the data migration and I get many errors related to the fields from the datasource: ERROR: 1054, Unknown column 'xxx' in 'field list'. I press Terminate to stop getting the data.
It seems that the fields selection in the datasource is not the one chosen in the Column Mapping but it gets all fields. The destination table is created correctly as it was selected in the Column Mapping.
Scenario 3
Start a new session
Select the mysql connection and destination database
Select either the ODBC connection or Use a query
I go to the Column Mapping and map the fields from datasource to the destination table. When I select the destination field combo box I get the list with few values in the bottom that I cannot see so I cannot select (see the picture attached).
You can open the 'edit sql' display. If you close it by clicking 'Cancel' or 'X' you will not get this error, you only get it when closing the dialogue by clicking 'OK'.
The idea was originally that it should be possible to edit the query. If 'OK' is used it is assumed that it was edited and we check for every column in the source.
I think we have do realize that this is not a well designed GUI here .. most users will assume that 'OK' means 'thats fine – proceed' and 'Cancel' means 'stop – I dont want this job to run. But the meaning is to approve/disapprove the changes made to the query! But I can see now that that is not very clear. Also we should make this dialogue non-editable I think!
You can open the 'edit sql' display. If you close it by clicking 'Cancel' or 'X' you will not get this error, you only get it when closing the dialogue by clicking 'OK'.
The idea was originally that it should be possible to edit the query. If 'OK' is used it is assumed that it was edited and we check for every column in the source.
I think we have do realize that this is not a well designed GUI here .. most users will assume that 'OK' means 'thats fine – proceed' and 'Cancel' means 'stop – I dont want this job to run. But the meaning is to approve/disapprove the changes made to the query! But I can see now that that is not very clear. Also we should make this dialogue non-editable I think!
Yes, it is misleading as I have already chosen the field mapping.
My impression is that by going to Edit SQL and doing nothing or any change there and then press OK, SQLyog is replacing my mapping in the background but in the GUI it shows exactly the mapping that I have done.
Maybe you should move the Edit SQL in the Table Creation section of Advanced Options and it should be activated only if I check the Drop and Recreate option.