ORA-24344: успех с ошибкой компиляции при попытке выполнить зимнюю процедуру Холта - PullRequest
0 голосов
/ 30 сентября 2019

Я получаю ошибку ORA-24344: success with compilation всякий раз, когда я пытаюсь импортировать приложение (которое работает в моей базе данных) в облако Oracle Apex или любое другое локальное облако, появляется такая же ошибка ORA-24344: success with compilation, но когда я запускаю приложениеон запускается, но эта процедура (holt_winters) не запускается, без ошибок он просто ничего не делает.

enter image description here

вот мой код. Это метод предсказания зимних праздников для тех из вас, кто заинтересован. любая помощь будет оказана

create or replace PROCEDURE "HOLT_WINTERS" (report_id_in IN INTEGER
                             , alpha IN VARCHAR2
                             , beta IN VARCHAR2
                             , gamma IN VARCHAR2
                             , prediction_step IN VARCHAR2
                             , seasonality IN VARCHAR2
                             , from_date IN varchar2
                             , to_date IN varchar2
                             , FDEW_ID IN integer) AS
BEGIN
    begin
        -- delete previous settings
        delete from demo_ts_settings where report_id_in > 0;
        -- select ESM as the algorithm
        insert into demo_ts_settings
        values (dbms_data_mining.algo_name,
                dbms_data_mining.algo_exponential_smoothing);
        -- set ESM model to be Holt-Winters Seasonal Adjusted
        insert into demo_ts_settings
        values (dbms_data_mining.exsm_model,
                dbms_data_mining.exsm_HW_ADDSEA);
        -- set interval to be month
        insert into demo_ts_settings
        values (dbms_data_mining.exsm_interval,
                dbms_data_mining.exsm_interval_month);
        -- set prediction to 4 steps ahead
        insert into demo_ts_settings
        values (dbms_data_mining.exsm_prediction_step,
                prediction_step);
        -- set seasonal cycle to be 5 quarters
        insert into demo_ts_settings
        values (dbms_data_mining.exsm_seasonality,
                seasonality);
        BEGIN
            dbms_data_mining.drop_model('DEMO_TS_MODEL_' || report_id_in);
        EXCEPTION
            WHEN others THEN null;
        END;

        EXECUTE IMMEDIATE 'create view holt_winters_temp_table_'||report_id_in|| ' as select RATES.*
        from RATES
        where (DATE_OF_RECORD between to_date('''|| from_date ||''', ''YYYY-MM-DD'') ' ||
                          'and to_date('''||to_date||''', ''YYYY-MM-DD'') )
          and STATUS = ''FALSE''
          and report_id ='|| report_id_in;
        dbms_data_mining.create_model(model_name => 'DEMO_TS_MODEL_' || report_id_in,
                                      mining_function => 'TIME_SERIES',
                                      data_table_name => 'holt_winters_temp_table_' || report_id_in,
                                      case_id_column_name => 'date_of_record',
                                      target_column_name => 'VAL',
                                      settings_table_name => 'DEMO_TS_SETTINGS');
        BEGIN
            FOR i IN 1..5
                LOOP
                    BEGIN
                        sys.DBMS_SESSION.sleep(20);
                        INSERT_HOLT_HISTORY('DM$PPDEMO_TS_MODEL_' || report_id_in);
                        COMMIT;
                        EXIT;
                    EXCEPTION
                        WHEN others THEN null;
                       DBMS_OUTPUT.PUT_LINE (SQLCODE || ' ' ||  SQLERRM);
                    END; -- sub-block ends
                END LOOP;
        END;
    end;
END HOLT_WINTERS;
...