Missing Objects Report
The missing objects report provides a general overview of the missing objects referenced in the main objects of your source code.
This is a deprecated version of the SnowConvert documentation, please visit the official site HERE.
What is a "Missing Object"?
Missing object is the term used to refer to missing DDL definitions inside the source code that are being referenced by other objects. The table below shows which objects could be missing objects in each supported language.
Table
✓
✓
✓
✓
View
✓
✓
✓
✓
Procedure
✓
✓
✓
✓
Function
✓
✓
✓
✓
Macro
✓
Package Function
✓
Package Procedure
✓
*Package
✓
Join Index
✓
Index
✓
Synonym
✓
Database Link
✓
Type
✓
✓
✓
Materialized View
✓
Where can I find it?
The missing objects report can be found in a folder named "reports", in the output folder of your conversion. The name of the file itself starts with "MissingObjectReferences" so it can easily be located.
The format of the file is .CSV.
What information does it contain?
The missing objects report contains the following information about all the missing objects found while converting:
PartitionKey
The unique identifier of the conversion.
FileName
The name of the file in which the object is located.
Calling_Object_Type
The type of the object referencing a missing object.
Calling_Object_Database
The database where the object referencing the missing object is deployed. For now, only SQL Server objects can have a database.
Calling_Object_Schema
The schema where the object referencing the missing object is deployed.
Calling_Object_Name
The name of the object referencing the missing object.
Calling_Object_FullName
The full qualified name of the object referencing the missing object.
Referenced_Object_Database
The database where the missing object is deployed. For now, only SQL Server objects can have a database.
Referenced_Object_Schema
The schema where the missing object is deployed.
Referenced_Object_Name
The name of the missing object.
Referenced_Object_FullName
The full qualified name of the missing object.
Line
The line number inside the file where the reference occurs.
Known Issues
Variables defined in shell files used in script files like .bteq are considered missing objects because their definition is not part of the input files that SnowConvert processes. For example, the myDB variable is defined in the shell file but this is a file that is not part of the input for SnowConvert. Only the .bteq file will be processed and therefore, line 5 will be marked as a missing reference.
export myDB=exampleDatabase
bteq < example.bteq```
.LABEL EX_SQE
create multiset volatile table DR as
select * from ${myDB}.myTable;
```Preprocessing an Oracle workload by splitting packages can result in extra missing references if the package's schema is not specified in the extracted objects.
Original Code
CREATE package Schema1.Package1
IS
CREATE TABLE Table1 (
col1 INTEGER
);
CREATE PROCEDURE Proc1
BEGIN
SELECT * FROM Schema1.Table1;
END
END Notice that in this case, Table1 is automatically created within the schema Schema1, so the reference in line 9 resolves correctly. However, if a package split process is executed prior to the migration and the resulting files are like these ones:
Modified Code after a package split process
CREATE TABLE Table1 (
col1 INTEGER1
); CREATE PROCEDURE Proc1
BEGIN
SELECT * FROM Schema1.Table1;
ENDThe reference on line 3 of the file Schema1_Proc1.sql will be marked as a missing reference, because Table1 was not explicitly created within the schema Schema1.
Last updated
