2013-08-02 22 views
2

我正在使用liquibase執行oracle腳本。此Oracle腳本,需要執行此功能:LiquiBase:exec DBMS_UTILITY.compile_schema(schema =>'ECA',compile_all => false);

exec DBMS_UTILITY.compile_schema(schema => 'ECA', compile_all => false); 

我看到有人稱它爲使用通話EXEC statment instate這個功能,它爲我工作,但有一個參數:

call DBMS_UTILITY.compile_schema(schema => 'ECA'); 

但是,如果我添加第二個參數:

call DBMS_UTILITY.compile_schema(schema => 'ECA', compile_all => false); 

我得到以下錯誤:

call DBMS_UTILITY.compile_schema(schema => 'ECA', compile_all => false): ORA-06576: not a valid function or procedure name 

我也試圖與高管:

exec DBMS_UTILITY.compile_schema(schema => 'ECA', compile_all => false); 

而且我得到這個錯誤:如果我在一個sql控制檯執行工作正常

Reason: liquibase.exception.DatabaseException: Error executing SQL exec DBMS_UTILITY.compile_schema(schema => 'ECA', compile_all => false): ORA-00900: invalid SQL statement 

Althought。

有關如何避免此問題並能夠執行此功能的任何想法?

在此先感謝

回答

4

試試這個:

<sql splitStatements="false"> 
begin 
    DBMS_UTILITY.compile_schema(schema => 'ECA', compile_all => false); 
end; 
</sql> 
+0

我打算用此溶液回覆。 謝謝! – eballo

相關問題