Currently, Create Database Link statement is not being converted but it is being parsed. Also, if your source code hascreate database link statements, these are going to be accounted for in the Assessment Report.
Example of a Source Code
IN -> Oracle_01.sql
CREATE PUBLIC DATABASE LINK db_link_nameCONNECTTO CURRENT_USERUSING'connect string'CREATEDATABASELINK db_link_name2CONNECTTO user_name IDENTIFIED BY user_passwordUSING'connect string'CREATE PUBLIC DATABASE LINK db_link_name3
Snowflake output
OUT -> Oracle_01.sql
----** SSC-OOS - OUT OF SCOPE CODE UNIT. CREATE DATABASE LINK IS OUT OF TRANSLATION SCOPE. **--CREATE PUBLIC DATABASE LINK db_link_name--CONNECT TO CURRENT_USER--USING 'connect string'----** SSC-OOS - OUT OF SCOPE CODE UNIT. CREATE DATABASE LINK IS OUT OF TRANSLATION SCOPE. **--CREATE DATABASE LINK db_link_name2--CONNECT TO user_name IDENTIFIED BY user_password--USING 'connect string'----** SSC-OOS - OUT OF SCOPE CODE UNIT. CREATE DATABASE LINK IS OUT OF TRANSLATION SCOPE. **--CREATE PUBLIC DATABASE LINK db_link_name3
Database Link References
If in your input code you use objects from the database link the output code will keep the name of these objects but the name of the database link that they are using will be removed.
Example of a Source Code
IN -> Oracle_02.sql
-- CREATE DATABASE LINK STATEMENTSCREATEDATABASELINK mylink1CONNECTTO user1 IDENTIFIED BY password1USING'my_connection_string1';CREATEDATABASELINK mylink2CONNECTTO user2 IDENTIFIED BY password2USING'my_connection_string2';-- SQL statements that use the database linksSELECT*FROM products@mylink1;INSERT INTO employees@mylink2 (employee_id, last_name, email, hire_date, job_id)VALUES (999, 'Claus', 'sclaus@oracle.com', SYSDATE, 'SH_CLERK');UPDATE jobs@mylink2 SET min_salary =3000WHERE job_id ='SH_CLERK';DELETEFROM employees@mylink2WHERE employee_id =999;-- SQL statement where it uses an object from-- a database link that is not createdSELECT*FROM products@mylink;
Snowflake output
OUT -> Oracle_02.sql
---- CREATE DATABASE LINK STATEMENTS----** SSC-OOS - OUT OF SCOPE CODE UNIT. CREATE DATABASE LINK IS OUT OF TRANSLATION SCOPE. **--CREATE DATABASE LINK mylink1-- CONNECT TO user1 IDENTIFIED BY password1-- USING 'my_connection_string1'----** SSC-OOS - OUT OF SCOPE CODE UNIT. CREATE DATABASE LINK IS OUT OF TRANSLATION SCOPE. **--CREATE DATABASE LINK mylink2-- CONNECT TO user2 IDENTIFIED BY password2-- USING 'my_connection_string2'-- SQL statements that use the database linksSELECT*FROM !!!RESOLVE EWI!!! /*** SSC-EWI-OR0123 - DBLINK CONNECTIONS NOT SUPPORTED [ DBLINK : mylink1 | USER: user1/password1 | CONNECTION: 'my_connection_string1' ] ***/!!! products;INSERT INTO!!!RESOLVE EWI!!! /*** SSC-EWI-OR0123 - DBLINK CONNECTIONS NOT SUPPORTED [ DBLINK : mylink2 | USER: user2/password2 | CONNECTION: 'my_connection_string2' ] ***/!!!employees (employee_id, last_name, email, hire_date, job_id)VALUES (999, 'Claus', 'sclaus@oracle.com', CURRENT_TIMESTAMP(), 'SH_CLERK');UPDATE!!!RESOLVE EWI!!! /*** SSC-EWI-OR0123 - DBLINK CONNECTIONS NOT SUPPORTED [ DBLINK : mylink2 | USER: user2/password2 | CONNECTION: 'my_connection_string2' ] ***/!!!jobsSET min_salary =3000WHERE job_id ='SH_CLERK';DELETEFROM !!!RESOLVE EWI!!! /*** SSC-EWI-OR0123 - DBLINK CONNECTIONS NOT SUPPORTED [ DBLINK : mylink2 | USER: user2/password2 | CONNECTION: 'my_connection_string2' ] ***/!!! employeesWHERE employee_id =999;-- SQL statement where it uses an object from-- a database link that is not created--** SSC-FDM-0007 - MISSING DEPENDENT OBJECT "mylink" **SELECT*FROM !!!RESOLVE EWI!!! /*** SSC-EWI-OR0123 - DBLINK CONNECTIONS NOT SUPPORTED [ DBLINK : mylink | USER: / | CONNECTION: ] ***/!!! products;