Edit

Share via


O2SS0418: Failed to parse statement batch with package definition (Error)

This article describes why SQL Server Migration Assistant (SSMA) for Oracle doesn't convert the PL/SQL block when using invalid syntax while creating a package in Oracle code.

Background

Whenever there's an invalid syntax while creating a package in Oracle code, SSMA generates an error message.

Example

In the following example, you create a package Empty_Pkg4 with invalid syntax:

CREATE OR REPLACE PACKAGE Empty_Pkg4
IS
BEGIN -- error!
    PVT INT := 10;
END;

When you try to convert the previous code in SSMA, it generates the following error message:

O2SS0418: Failed to parse statement batch with package definition

Possible remedies

To resolve this error, you can correct the source code and delete the invalid syntax in Oracle. In our example we have to delete the BEGIN statement from the Oracle source code, as shown in the following code:

CREATE OR REPLACE PACKAGE Empty_Pkg4
IS
    PVT INT := 10;
END;

Another remedy is to verify if any application code calls the package containing the invalid syntax. If not, remove the package from your migration project.