This content has been marked as final. Show 7 replies
If I migrate into one file the file contains in the beginning the package starting with this definition and implementation:
CREATE OR REPLACE PACKAGE sqlserver_utilities AS
FUNCTION convert(dataType VARCHAR2,num NUMBER) RETURN NUMBER;
FUNCTION convert(dataType VARCHAR2,date DATE, num NUMBER ) RETURN VARCHAR2;
FUNCTION getutcdate RETURN TIMESTAMP;
FUNCTION datediff(datepart VARCHAR2, start_datetime_expr VARCHAR2, end_datetime_expr VARCHAR2) RETURN NUMBER;
FUNCTION dateadd(datepart VARCHAR2, value NUMBER, datetime_expr VARCHAR2) RETURN TIMESTAMP;
If I create for each database object files I cant find the definition of the package
I get only a lot of PROC_FUNC_xxx.sql, VIEW_yyy.sql and TABLE_zzz.sql Files. The package definition and implementation is missing
I have reproduced the same issue.
I did find a reference that sqlserver_utilities was not generated when migrating individual packages but I cannot find where it is actually documented.
Creating a single file per object may be classed as migrating objects individually but I will check further.
You should find that the create statements for sqlserver_utilities are in the Emulation.sql script that is created in the 'generated' directory in the directory where you directed the output for the conversion part of the migration.
However, there is bug open because if you run the master_script.sql it tries to run the emulation.sql script as the user 'emulation' but this user is not created first. The bug should be fixed in the next release of SQL*Developer.
There is nothing to stop you creating an emulation user first and then running the script manually, or as part of the master_script.sql.
Let us know if have the Emulation.sql script with the sqlserver_utilities statements.