I'm using SQL Developer 3.1.07 to migrate an SQL Server 2008 DB into Oracle. I follow the steps for migration however no DB objects are captured and migration fails, though the app returns success. I have some other databases on the same server and I can migrate them without any issues.
The interesting thing is for the problematic source DB, even "Analyze Database" does not work, though, again the operation ends with success. I think both problems are related. Here are the steps:
1. Expand the MS SQL DB Server node in the connections panel.
2. Right click the "Analyze Database" menu item.
3. Enter the path for the XLS output file.
4. The process, Staging, Capture, etc. takes about 6-7 seconds.
5. "Migration analysis report has been generated successfully." message is displayed.
6. An empty XLS file is created.
I'm trying to find out a log file to see what's wrong, but no luck. I could not find anything.
Is there anything that I can do? Any hidden log files, or any option to turn on a detailed log for the processes? Some info about the source DB:
1. ~290 tables.
2. ~180 views.
3. ~30 stored procedures and user defined functions.
4. DB size 120 MB.
5. 8 full text catalogs.
Any help would be appreciated.
I finally found the problem. I ran a trace on SQL Server DB before trying "Analyze Database" from SQL Developer. It turned out that the very first query sent to MS SQL Server is: select CATALOG_NAME=CAST(name AS VARCHAR(128)), DBID=database_id from master.sys.databases WHERE (UPPER(name) ='DB-PIVOT') AND UPPER(name) != 'MASTER' AND UPPER(name) !=
*'MSDB' AND UPPER(name) != 'MODEL' order by name*
Our SQL Server DB language is Turkish and thus the above query returns 0 rows. Actually the DB name is "db-pivot" and upper case representation in Turkish culture is DB-PİVOT.
So the solution is either restore the DB with a name that does not contain character i, or configure MS SQL Server collation as SQL_LATIN1_General_XXXX or so, instead of Turkish_CI_AS.
Another solution would be SQL Developer not changing the casing of the source database. If the query above was like name = 'db-pivot' there would not be any such issues.
Hope this helps some other people in the future.