home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC76845 Status: Geschlossen

DB2LOOK FAILED TO GENERATE STANDALONE PL/SQL UDFS AND STORED PROCEDURES.

Produkt:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problembeschreibung:
Here is the test case : 
 
 
$cat proc_udf.sql 
 
set sqlcompat plsql@ 
 
CREATE OR REPLACE PROCEDURE PROC_GOTO_TEST ( 
  i_cond in number 
) IS 
 
   v_result varchar2(50); 
 
BEGIN 
 
    IF i_cond > 10 THEN 
        GOTO OK_CONDITION; 
    ELSE 
        dbms_output.put_line('Input should be greater than 10. 
(cond=' || i_cond || ')'); 
        RETURN; 
    END IF; 
 
<< OK_CONDITION >> 
    NULL; 
dbms_output.put_line('--'); 
 
    BEGIN 
        select 'Successful !!' RESULT into v_result from dual; 
        dbms_output.put_line(i_cond || ' => ' || v_result); 
 
    EXCEPTION 
        WHEN OTHERS THEN 
            dbms_output.put_line('ErrMsg => ' || SQLERRM); 
    END; 
 
END@ 
 
CREATE OR REPLACE FUNCTION FUNC_TEST 
( 
  p_arg1 in VARCHAR2 
, p_arg2 in VARCHAR2 
, p_arg3 in VARCHAR2) 
 
RETURN  VARCHAR2 
IS 
 
BEGIN 
    IF p_arg1 is null THEN 
        return p_arg3; 
    ELSE 
        return p_arg2; 
    END IF; 
 
END FUNC_TEST@ 
 
 
set sqlcompat db2@ 
 
 
- DB2_COMPATIBILITY_VECTOR=ORA 
- Create TEST database 
- Connect to TEST 
- db2 -td@ -vf proc_udf.sql 
- db2look -d test -e -l -mod -cor -nofed -o db2look.out 
 
This problem only occur in the DB2 V9.7 Fixpack 4. 
In prior fixpacks db2look can successfully generate the CREATE 
OR REPLACE FUNCTION and CREATE OR REPLACE PROCEDURE statements.
Problem-Zusammenfassung:
Here is the test case : 
 
 
$cat proc_udf.sql 
 
set sqlcompat plsql@ 
 
CREATE OR REPLACE PROCEDURE PROC_GOTO_TEST ( 
  i_cond in number 
) IS 
 
  v_result varchar2(50); 
 
BEGIN 
 
    IF i_cond > 10 THEN 
        GOTO OK_CONDITION; 
    ELSE 
        dbms_output.put_line('Input should be greater than 10. 
(cond=' || i_cond || ')'); 
        RETURN; 
    END IF; 
 
<< OK_CONDITION >> 
    NULL; 
dbms_output.put_line('--'); 
 
    BEGIN 
        select 'Successful !!' RESULT into v_result from dual; 
        dbms_output.put_line(i_cond || ' => ' || v_result); 
 
    EXCEPTION 
        WHEN OTHERS THEN 
            dbms_output.put_line('ErrMsg => ' || SQLERRM); 
    END; 
 
END@ 
 
CREATE OR REPLACE FUNCTION FUNC_TEST 
( 
  p_arg1 in VARCHAR2 
, p_arg2 in VARCHAR2 
, p_arg3 in VARCHAR2) 
 
RETURN  VARCHAR2 
IS 
 
BEGIN 
    IF p_arg1 is null THEN 
        return p_arg3; 
    ELSE 
        return p_arg2; 
    END IF; 
 
END FUNC_TEST@ 
 
 
set sqlcompat db2@ 
 
 
- DB2_COMPATIBILITY_VECTOR=ORA 
- Create TEST database 
- Connect to TEST 
- db2 -td@ -vf proc_udf.sql 
- db2look -d test -e -l -mod -cor -nofed -o db2look.out 
 
This problem only occur in the DB2 V9.7 Fixpack 4. 
In prior fixpacks db2look can successfully generate the CREATE 
OR REPLACE FUNCTION and CREATE OR REPLACE PROCEDURE statements.
Local-Fix:
verfügbare FixPacks:
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Lösung
First fixed in DB2 Version 9.7 Fixpack 5.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
08.06.2011
07.12.2011
07.12.2011
Problem behoben ab folgender Versionen (IBM BugInfos)
9.7.FP5
Problem behoben lt. FixList in der Version
9.7.0.5 FixList