7 entry daha
  • jdbc, oci/#18270669 layer'indaki bir kısıtlamadan dolayı oracle stored procedure'lerine boolean (in/out) parametrelerini desteklemez. eğer boolean değerle çalışmak zorundaysanız wrapper procedure yazarak bu sıkıntı aşılabilir. java'dan boolean yerine int olan procedure cagirilir, bu procedure icinde ise int yerine gerekli boolean degeri kullanilarak diger procedure cagirilir. oracle'ın da önerdiği bu yöntem şöyledir;

    create or replace procedure boolproc(x boolean)
    as
    begin
    [...]
    end;

    create or replace procedure boolwrap(x int)
    as
    begin
    if (x=1) then
    boolproc(true);
    else
    boolproc(false);
    end if;
    end;

    java tarafı ise şöyle olmalıdır;

    [...]
    connection conn = ods.getconnection();
    callablestatement cs = conn.preparecall("begin boolwrap(?); end;");
    cs.setint(1, 1);
    cs.execute();
4 entry daha
hesabın var mı? giriş yap