/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Oracle - mystisk package compile problem
Fra : Martin M. Pedersen


Dato : 17-12-07 17:14

Hejsa,
Jeg kan simpelthen ikke forstå, hvorfor flg. koden ikke vil compile ?
Nogle gode forslag ?

Mvh
Martin


SQL> !cat formtype.pkg
CREATE OR REPLACE PACKAGE formtype AS
FUNCTION get_formtype (job_id IN NUMBER) RETURN VARCHAR2;
PROCEDURE set_formtype (job_id IN NUMBER);
END;
/

CREATE OR REPLACE PACKAGE BODY formtype AS

FUNCTION get_formtype (job_id IN NUMBER) RETURN VARCHAR2 IS
result VARCHAR2(2000);
BEGIN
result:=opdd.obj_job.initialise(job_id,1);
IF (result='Success') THEN
RETURN opdd.obj_job.form_type;
ELSE
RETURN NULL;
END IF;
END;

PROCEDURE set_formtype (job_id IN NUMBER) IS
result VARCHAR2(2000);
f_id NUMBER;
BEGIN
result:=opdd.obj_job.initialise(job_id,1);
IF (result='Success') THEN
SELECT id INTO f_id FROM formtypes WHERE
formtype=opdd.obj_job.form_type;
UPDATE tickets SET formtype=f_id;
COMMIT;
ELSE
NULL;
END IF;
END;

END;
/


SQL> @formtype.pkg

Package created.


Warning: Package Body created with compilation errors.

SQL> show errors
Errors for PACKAGE BODY FORMTYPE:

LINE/COL ERROR
-------- -----------------------------------------------------------------
6/5 PL/SQL: Statement ignored
6/13 PLS-00201: identifier 'OPDD.OBJ_JOB' must be declared
8/7 PL/SQL: Statement ignored
8/14 PLS-00201: identifier 'OPDD.OBJ_JOB' must be declared
18/5 PL/SQL: Statement ignored
18/13 PLS-00201: identifier 'OPDD.OBJ_JOB' must be declared
SQL> desc OPDD.OBJ_JOB

FUNCTION AUTOMATIC_DESPATCH RETURNS VARCHAR2
FUNCTION AUTOMATIC_PRE_DESPATCH_PROCESS RETURNS VARCHAR2
FUNCTION AUTOMATIC_PRE_PRINT_QA RETURNS VARCHAR2
FUNCTION AUTOMATIC_PRINT RETURNS VARCHAR2
FUNCTION AUTOMATIC_PROCESS RETURNS VARCHAR2
FUNCTION AUTOMATIC_REPRINT_PROCESS RETURNS VARCHAR2
[...]

 
 
Steen Suder (18-12-2007)
Kommentar
Fra : Steen Suder


Dato : 18-12-07 22:48

Martin M. Pedersen wrote:

> Hejsa,
> Jeg kan simpelthen ikke forstå, hvorfor flg. koden ikke vil compile ?
> Nogle gode forslag ?

<KLIP>


> Warning: Package Body created with compilation errors.
>
> SQL> show errors
> Errors for PACKAGE BODY FORMTYPE:
>
> LINE/COL ERROR
> -------- -----------------------------------------------------------------
> 6/5 PL/SQL: Statement ignored
> 6/13 PLS-00201: identifier 'OPDD.OBJ_JOB' must be declared

<KLIP>


Jeg aner intet om Oracle og er en dårlig programmør, men...

Baseret på hvad fejlen angives til at være, mangler der så ikke en eksplicit
erklæring af OPDD.OBJ_JOB - evt. et niveau eller to længere ude
virkefeltsmæssigt?

--
Steen Suder
Prøv at forestille dig, at du er en anden, og læs så din artikel igennem
inden du sender den. Alle har interesse i, at du staver og formulerer
dig, så godt du kan. På den måde forstås det lettere, hvad du skriver.

Martin M. Pedersen (26-12-2007)
Kommentar
Fra : Martin M. Pedersen


Dato : 26-12-07 19:04

Steen Suder wrote:
> Martin M. Pedersen wrote:
>
>> Hejsa,
>> Jeg kan simpelthen ikke forstå, hvorfor flg. koden ikke vil compile ?
>> Nogle gode forslag ?
>
> <KLIP>
>
>
>> Warning: Package Body created with compilation errors.
>>
>> SQL> show errors
>> Errors for PACKAGE BODY FORMTYPE:
>>
>> LINE/COL ERROR
>> -------- -----------------------------------------------------------------
>> 6/5 PL/SQL: Statement ignored
>> 6/13 PLS-00201: identifier 'OPDD.OBJ_JOB' must be declared
>
> <KLIP>
>
>
> Jeg aner intet om Oracle og er en dårlig programmør, men...
>
> Baseret på hvad fejlen angives til at være, mangler der så ikke en eksplicit
> erklæring af OPDD.OBJ_JOB - evt. et niveau eller to længere ude
> virkefeltsmæssigt?
>

Jeg glemte at man godt kan se opdd.ob_job, selvom man ingen rettigheder
overhovedet har til objektet.

grant all on obj_job to billing; løste problemet.

/Martin

Søg
Reklame
Statistik
Spørgsmål : 177449
Tips : 31962
Nyheder : 719565
Indlæg : 6408126
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste