Error in procedure compilation
Dear All,
When I compile the following java proc it raises error.
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "client/Hello" AS
package client;
import javax.xml.ws.WebServiceRef;
//import java.net.*;
//import java.util.*;
//import javax.xml.*;
public class Hello {
public static void main(String[] args) {
Hello h = new Hello();
System.out.println(h.world());
public static String world()
return "Hello world";
Error:
JAVA SOURCE ESB_JAVA.client/Hello
On line: 0
client/Hello:3: cannot resolve symbol
Let me 2b DBA wrote:
Dear All,
When I compile the following java proc it raises error.
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "client/Hello" AS
Error:
JAVA SOURCE ESB_JAVA.client/Hello
On line: 0
client/Hello:3: cannot resolve symbolYou cannot use / in the name of any valid Oracle object change / to _ or Simply to ClientHello
Baig,
http://baigsorcl.blogspot.com
Similar Messages
-
Procedure compilation failed with SQL command not properly ended error
Hi All,
Kindly help me to fix this.
I am compiling a procedure and getting an error. Procedure and error details are as follows:
Procedure:
CREATE or REPLACE PROCEDURE jiostore_new.auditReportCount (u_name IN VARCHAR2,stdate IN DATE,eddate IN DATE)
IS
BEGIN
DECLARE Total Number;
BEGIN
SELECT COUNT(am.id) into Total FROM auditMaster_ AS am INNER JOIN jioworld.deviceos_ dvos ON dvos.id=am.deviceOs WHERE am.updatedBy=u_name or am.updatedBy=ALL AND DATE(am.updatedDate)>=stdate OR DATE(am.updatedDate)='0000-00-00' AND DATE(am.updatedDate)<=eddate or DATE(am.updatedDate)='0000-00-00';
dbms_output.put_line('Total Count:' || Total);
END;
END;
Error:
Error(6,1): PL/SQL: SQL Statement ignored
Error(6,50): PL/SQL: ORA-00933: SQL command not properly ended
Regards,
Vishal G2922723 wrote:
Hi All,
Kindly help me to fix this.
I am compiling a procedure and getting an error. Procedure and error details are as follows:
Procedure:
CREATE or REPLACE PROCEDURE jiostore_new.auditReportCount (u_name IN VARCHAR2,stdate IN DATE,eddate IN DATE)
IS
BEGIN
DECLARE Total Number;
BEGIN
SELECT COUNT(am.id) into Total FROM auditMaster_ AS am INNER JOIN jioworld.deviceos_ dvos ON dvos.id=am.deviceOs WHERE am.updatedBy=u_name or am.updatedBy=ALL AND DATE(am.updatedDate)>=stdate OR DATE(am.updatedDate)='0000-00-00' AND DATE(am.updatedDate)<=eddate or DATE(am.updatedDate)='0000-00-00';
dbms_output.put_line('Total Count:' || Total);
END;
END;
Error:
Error(6,1): PL/SQL: SQL Statement ignored
Error(6,50): PL/SQL: ORA-00933: SQL command not properly ended
Regards,
Vishal G
The first thing, is that for your own sanity you should learn to format your code for readability. And for the sanity of those from whom you seek help, you should learn to preserve that formatting when you post to a forum:
CREATE OR REPLACE PROCEDURE jiostore_new.auditReportCount(
u_name IN VARCHAR2,
stdate IN DATE,
eddate IN DATE)
IS
BEGIN
DECLARE
Total NUMBER;
BEGIN
SELECT COUNT(am.id)
INTO Total
FROM auditMaster_ AS am
INNER JOIN jioworld.deviceos_ dvos
ON dvos.id =am.deviceOs
WHERE am.updatedBy =u_name
OR am.updatedBy =ALL
AND DATE(am.updatedDate)>=stdate
OR DATE(am.updatedDate) ='0000-00-00'
AND DATE(am.updatedDate)<=eddate
OR DATE(am.updatedDate) ='0000-00-00';
dbms_output.put_line('Total Count:' || Total);
END;
END;
What is the data type of am.updateDate? It appears to be a varchar being passed to a function named DATE to convert it to a DATEfor comparison to your input parameters, But you also compare it to strings.
Where are the variables 'u_name' and 'ALL'? (and what kind of a name is that for a variable -- 'ALL'?) -
Procedure compiles on Oracle 10g but fails to do so on Oracle 9i
Hi,
We have an application which supports both Oracle 9i and Oracle 10g dbs, recently we added a new procedure to get a report from the applications statistics schema, the procedure uses two other schemas also to get the report and uses a query which does not use any Oracle specific feature (pure ANSI SQL), it compiled successfully on Oracle 10g but gives the following error on 9i db
SQL> show err
Errors for PROCEDURE SPGETNONCOMPLOGBASEDONEMP:
LINE/COL ERROR
22/8 PL/SQL: SQL Statement ignored
31/37 PL/SQL: ORA-00907: missing right parenthesis
the 9i version
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
10g version
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod
PL/SQL Release 10.1.0.2.0 - Production
CORE 10.1.0.2.0 Production
TNS for 32-bit Windows: Version 10.1.0.2.0 - Production
NLSRTL Version 10.1.0.2.0 - Production
If any body knows the soln, please help
Thanks in advance
Gibs
Procedure
CREATE OR REPLACE PROCEDURE Spgetnoncomplogbasedonemp (
in_emp_id IN VARCHAR,
in_start_date IN DATE,
in_end_date IN DATE,
non_complog OUT Types.ref_cursor
IS
BEGIN
OPEN non_complog
FOR
SELECT end_date AS end_date, employee_id AS emp_id, NAME AS emp_name,
vcname AS plan_name, start_date, nid AS nid
FROM (SELECT *
FROM ((SELECT employee_id, NAME
FROM hrsample_bridge.ath_employee
WHERE ( (in_emp_id IS NULL AND 1 = 1)
OR (in_emp_id IS NOT NULL
AND employee_id = in_emp_id
)) CROSS JOIN (SELECT vcname
FROM orahrsamplecore.athobjectinstance
WHERE compliance_status = 1
AND ( (in_start_date IS NULL
OR (dtcompreissue
BETWEEN in_start_date
AND in_end_date
)))) LEFT OUTER JOIN COMPTRACKLOG c ON c.emp_id =
employee_id
AND c.plan_name =
vcname
WHERE c.emp_id IS NULL
AND ( ( (in_emp_id IS NULL)
OR ( in_emp_id IS NOT NULL
AND NOT EXISTS (
SELECT 1
FROM COMPTRACKLOG
WHERE plan_name = vcname
AND c.emp_id = in_emp_id )
AND ( (in_start_date IS NULL)
OR ( (in_start_date IS NOT NULL)
AND c.end_date BETWEEN in_start_date AND in_end_date
ORDER BY c.emp_id, c.plan_name ASC;
END;
/Hi,
We have an application which supports both Oracle 9i and Oracle 10g dbs, recently we added a new procedure to get a report from the applications statistics schema, the procedure uses two other schemas also to get the report and uses a query which does not use any Oracle specific feature (pure ANSI SQL), it compiled successfully on Oracle 10g but gives the following error on 9i db
SQL> show err
Errors for PROCEDURE SPGETNONCOMPLOGBASEDONEMP:
LINE/COL ERROR
22/8 PL/SQL: SQL Statement ignored
31/37 PL/SQL: ORA-00907: missing right parenthesis
the 9i version
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
10g version
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod
PL/SQL Release 10.1.0.2.0 - Production
CORE 10.1.0.2.0 Production
TNS for 32-bit Windows: Version 10.1.0.2.0 - Production
NLSRTL Version 10.1.0.2.0 - Production
If any body knows the soln, please help
Thanks in advance
Gibs
Procedure
CREATE OR REPLACE PROCEDURE Spgetnoncomplogbasedonemp (
in_emp_id IN VARCHAR,
in_start_date IN DATE,
in_end_date IN DATE,
non_complog OUT Types.ref_cursor
IS
BEGIN
OPEN non_complog
FOR
SELECT end_date AS end_date, employee_id AS emp_id, NAME AS emp_name,
vcname AS plan_name, start_date, nid AS nid
FROM (SELECT *
FROM ((SELECT employee_id, NAME
FROM hrsample_bridge.ath_employee
WHERE ( (in_emp_id IS NULL AND 1 = 1)
OR (in_emp_id IS NOT NULL
AND employee_id = in_emp_id
)) CROSS JOIN (SELECT vcname
FROM orahrsamplecore.athobjectinstance
WHERE compliance_status = 1
AND ( (in_start_date IS NULL
OR (dtcompreissue
BETWEEN in_start_date
AND in_end_date
)))) LEFT OUTER JOIN COMPTRACKLOG c ON c.emp_id =
employee_id
AND c.plan_name =
vcname
WHERE c.emp_id IS NULL
AND ( ( (in_emp_id IS NULL)
OR ( in_emp_id IS NOT NULL
AND NOT EXISTS (
SELECT 1
FROM COMPTRACKLOG
WHERE plan_name = vcname
AND c.emp_id = in_emp_id )
AND ( (in_start_date IS NULL)
OR ( (in_start_date IS NOT NULL)
AND c.end_date BETWEEN in_start_date AND in_end_date
ORDER BY c.emp_id, c.plan_name ASC;
END;
/ -
I'm trying to write a procedure that will compute the start and end dates of the weeks within a period, etc. Number of business days in a week is 5; that is, Monday to Friday.
The first part of the code I have to write is giving me problems please help. The table below was created:
Wrote file afiedt.buf
1 CREATE TABLE WEEKS
2 (WEEKID VARCHAR2(20),
3 TRANSACTION_YEAR VARCHAR2(20),
4 START_DATE DATE,
5 END_DATE DATE,
6 DAYS VARCHAR2(20),
7* WEEK_NUMBER VARCHAR2(20))
SQL> /
Table created.
SQL> --- Code To Generate start date, end date weekid, week number, etc in A financial Year
SQL> Create OR REPLACE PROCEDURE Weeksinyear IS
2 BEGIN
3 declare
4 sdate_v weeks.start_date%type;
5 edate_v weeks.end_date%type;
6 ndays_v weeks.days%type;
7 nweek_v Weeks.week_number%type;
8 weekid_v weeks.weeksid%type;
9 transyear_v weeks.weeks.transaction_year%type;
10 numbweeks_v number;
11 fyearst_v date;
12 fyeared_v date;
13 totaldays_V number;
14 i number;
15 d number;
16 begin
17 fyearst_v := '05-jan-2004';
18 fyeared_v := '26-jan-2004';
19 sdate := fyearst_v;
20 transyear_v := to_char('05-jan-2004','yyyy');
21 nweek_v :=1;
22 ndays_v := 5;
23 totaldays_v := to_number(to_date(fyeared) - to_date(fyearst));
24 nweekid_v :=1;
25 i := 1;
26 loop
27 If to_char(fyearst_v,'DAY') ='MONDAY ' then
28 loop
29 i := i + 4;
30 if i < totaldays_v then
31 d := to_number(totaldays_v - i);
32 edate_v := (sdate_v + (d - 1));
33 elseif i = totaldays_v then
34 edate_v := sdate_v + 4;
35 elseif i < totaldays then
36 edate := (sdate + 4);
37 endif;
38 weekid_v := (i||'000'||'i');
39 insert into weeks(weekid, transaction_year, start_date, end_date, days, week_number)
40 values(weekid_v,transyear, sdate_v, ndays, nweek_v);
41 if totaldays_V > 7 then
42 weekid_v := weekid + 1;
43 sdate_v := sdate_v + 7;
44 transyear_V := transyear_v;
45 nweek_v := nweek_v + 1;
46 ndays_v := ndays_v;
47 totaldays_v := to_number(totaldays_v - 7);
48 else exit;
49 end loop;
50 else exit;
51 end loop;
52 end;
53 END;
54 /
Warning: Procedure created with compilation errors.
SQL> sho err;
Errors for PROCEDURE WEEKSINYEAR:
LINE/COL ERROR
33/35 PLS-00103: Encountered the symbol "I" when expecting one of the
following:
:= . ( @ % ;
35/35 PLS-00103: Encountered the symbol "I" when expecting one of the
following:
:= . ( @ % ;
49/23 PLS-00103: Encountered the symbol "LOOP" when expecting one of
the following:
if
LINE/COL ERROR
51/17 PLS-00103: Encountered the symbol "LOOP" when expecting one of
the following:
if
SQL>So many things, I don't really know where to start.
At line 32
IF TO_CHAR(fyearst,'DAY') ='MONDAY ' then
Will never be true it needs to be either
IF TO_CHAR(fyearst,'DAY') ='MONDAY ' THEN -- A total of 9 characters (padded to the length of WEDNESDAY) or
IF TRIM(TO_CHAR(fyearst,'DAY')) ='MONDAY' THEN
Fixing this leads to a second problem in the inner loop. At line 35
IF i < totaldays THEN
is logically incorrect. The variable i will take the values 5, 9, 13, 17 and enter the if condition, but will not be equal to totaldays at line 38. On the fifth iteration i = 21 so the conditional at line 35 fails and you have an infinite loop, so the test needs to be:
IF i <= totaldays THEN
to even get into any of your processing. Now, on the fifth pass, the conditional on line 38 (IF i = totaldays THEN ) will be true, so edate gets set, but the condition on line 40 (IF i > totaldays THEN) can never be true, so we're back to an infinite loop.
So change line 40 to
IF i >= totaldays THEN
Now, the insert gets done, and the test at line 45 (IF totaldays > 7 THEN) passes and totaldays gets reset, and we go back to the top of the inner loop. Now, i = 21 and totaldays = 14, so the condition at line 35 fails, and again, we're in an infinite loop, so lets reset i as well as totaldays.
Now i still goes 5, 9, 13, 17, 21 but totaldays = 14, so the test at line 38 is never true, and once more, an infinite loop.
At this point I gave up and put an explicit exit after the insert statement, just to see what should be inserted, and got another infinite loop in the outer loop because there is no terminating condition on the loop since fyearst never gets changed. Having seen some output, I think what you are looking for is something more like:
INSERT INTO weeks
SELECT rownum, TO_CHAR(TO_DATE('05-jan-2004','dd-mon-yyyy'),'YYYY'),
NEXT_DAY(TO_DATE('05-jan-2004','dd-mon-yyyy') - 7,'MONDAY') + ((rownum - 1) * 7),
NEXT_DAY(TO_DATE('05-jan-2004','dd-mon-yyyy') + 1,'FRIDAY') + ((rownum - 1) * 7),
'5', TO_CHAR(rownum)
FROM all_objects
WHERE rownum <= 52or, if you really want a procedure:
CREATE OR REPLACE PROCEDURE weeksinyear (p_start IN DATE, p_end IN DATE) AS
num_weeks NUMBER;
BEGIN
num_weeks := (NEXT_DAY(p_end,'MONDAY') - NEXT_DAY(p_start - 7,'MONDAY')) /7;
INSERT INTO weeks
SELECT rownum, TO_CHAR(p_start,'YYYY'),
NEXT_DAY(p_start - 7,'MONDAY') + ((rownum - 1) * 7),
NEXT_DAY(p_start + 1,'FRIDAY') + ((rownum - 1) * 7),
'5', TO_CHAR(rownum)
FROM all_objects
WHERE rownum <= num_weeks;
COMMIT;
END;If you will always want to do this for an entire year, then the procedure could be simplified to:
CREATE OR REPLACE PROCEDURE weeksinyear (p_start IN DATE) AS
BEGIN
INSERT INTO weeks
SELECT rownum, TO_CHAR(p_start,'YYYY'),
NEXT_DAY(p_start - 7,'MONDAY') + ((rownum - 1) * 7),
NEXT_DAY(p_start + 1,'FRIDAY') + ((rownum - 1) * 7),
'5', TO_CHAR(rownum)
FROM all_objects
WHERE rownum <= 52;
COMMIT;
END;TTFN
John -
PLS-00801: internal error [1401] while compiling Package body
I am getting the error PLS-00801: internal error [1401] while compiling the package.
recently upgraded to version 11.1.0.7 database .
Any pointer to this ..935026 wrote:
I am also getting the same error while compiling a procedure which use a remote object over db_link.
Let me know if this needs to be run on source db or destination db
1. RUN as SYS
$ORACLE_HOME/rdbms/admin/utlirp.sql
$ORACLE_HOME/rdbms/admin/utlrp.sql
RegardsYES
post results from SQL below from both DBs
SELECT * FROM V$VERSION; -
REUSE SETTINGS supresses error messages when compiling an invalid object
Hello,
my test:
Create a table and a packaged procedure referencing the table. Then drop the table and recompile the package:
CREATE TABLE x (
y NUMBER
CREATE OR REPLACE PACKAGE y
AS
PROCEDURE z;
END y;
SHOW ERRORS
CREATE OR REPLACE PACKAGE BODY y
AS
PROCEDURE z
IS
v_count PLS_INTEGER;
BEGIN
SELECT COUNT(*)
INTO v_count
FROM x;
END z;
END y;
SHOW ERRORS
DROP TABLE x;
PROMPT 1.Compile package
ALTER PACKAGE y COMPILE;
SHOW ERRORS
PROMPT 2.Compile package body
ALTER PACKAGE y COMPILE BODY;
SHOW ERRORS
PROMPT 3.Compile package with "REUSE SETTINGS"
ALTER PACKAGE y COMPILE REUSE SETTINGS;
SHOW ERRORS
PROMPT 4.Compile package body with "REUSE SETTINGS"
ALTER PACKAGE y COMPILE BODY REUSE SETTINGS;
SHOW ERRORS
SELECT object_name
,object_type
FROM user_objects
WHERE status = 'INVALID';
--DROP PACKAGE y;Partly unexpected output
Tabelle wurde erstellt.
Package wurde erstellt.
Keine Fehler.
Package Body wurde erstellt.
Keine Fehler.
Tabelle wurde gelöscht.
1.Compile package
Warnung: Paket wurde mit Kompilierungsfehlern geõndert.
Keine Fehler.
2.Compile package body
Warnung: Paketrumpf wurde mit Kompilierungsfehlern geõndert.
Fehler bei PACKAGE BODY Y:
LINE/COL ERROR
8/3 PL/SQL: SQL Statement ignored
10/8 PL/SQL: ORA-04044: procedure, function, package, or type is not
allowed here
3.Compile package with "REUSE SETTINGS"
Warnung: Paket wurde mit Kompilierungsfehlern geõndert.
Keine Fehler.
4.Compile package body with "REUSE SETTINGS"
Warnung: Paketrumpf wurde mit Kompilierungsfehlern geõndert.
Keine Fehler.
OBJECT_NAME OBJECT_TYPE
Y PACKAGE BODY
1 Zeile wurde ausgewõhlt.It says
- Table created
- Package created
- Package body created
- Table dropped
- Package header compiled with errors (why?)
- Package body compiled with errors (shown error is expected)
- Package header compiled with errors (again why?)
- Package body compiled with errors (no errors shown)
So why is the header compiled with errors, when the object is valid.
And why is no error shown for COMPILE REUSE SETTINGS when there are errors for the body?
I use REUSE SETTINGS when recompiling invalid objects that were compiled for debug with
ALTER PACKAGE abc COMPILE PLSQL_DEBUG = TRUE REUSE SETTINGSRegards
Marcus
Version:
SQL*Plus: Release 10.2.0.1.0 - Production on Di Jan 27 12:45:20 2009
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining optionsHi,
From SQL Reference Manual [REUSE SETTINGS|http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_1007.htm#BGBGEIGD]:
Specify REUSE SETTINGS to prevent Oracle from dropping and reacquiring compiler switch settings. With this clause, Oracle preserves the existing settings and uses them for the recompilation of any parameters for which values are not specified elsewhere in this statement.
For backward compatibility, Oracle Database sets the persistently stored value of the PLSQL_COMPILER_FLAGS initialization parameter to reflect the values of the PLSQL_CODE_TYPE and PLSQL_DEBUG parameters that result from this statement.
Regards, -
I have a procedure (below) that is invalid. Last night the instance of the database I'm working in got refreshed (data only) and a few of my procedures were invalidated, including this one. When I tried to recreate it I got the following error:
PLS-00382: expression is of wrong type
I don't understand why it's now not working (worked fine yesterday), or what this error means in relation to the statement.
Does anyone know what I'm doing wrong here?
Thanks,
Pete
SQL> CREATE OR REPLACE PROCEDURE nyp.WBS_NOTE
2 IS
3 CURSOR C_WBS_NOTES IS
4 SELECT * FROM WBS_NOTES;
5 V_WBS_ID NUMBER;
6 V_WBSMEMO_ID NUMBER;
7 V_PROJ_ID NUMBER;
8 V_WBS_VAL VARCHAR2(200);
9 V_WBS_PARENT VARCHAR2(200);
10
11 BEGIN
12 UPDATE
13 WBS_NOTES W
14 SET W.TEXT = REPLACE(W.Text, 'CHR(13)', '
15 ');
16 INSERT INTO WBS_NOTE_PROJ_NOT_FOUND
17 SELECT *
18 FROM WBS_NOTES W WHERE EXISTS(
19 SELECT 'A'
20 FROM ACC_CONV_PROJ_NOT_FOUND P
21 WHERE W.Project_num = P.Project_num);
22 DELETE
23 FROM WBS_NOTES W WHERE EXISTS(
24 SELECT 'A'
25 FROM ACC_CONV_PROJ_NOT_FOUND P
26 WHERE W.Project_num = P.Project_num);
27 FOR NOTES IN C_WBS_NOTES LOOP
28 SELECT P.PROJ_ID
29 INTO V_PROJ_ID
30 FROM PROJECT P
31 WHERE P.PROJ_SHORT_NAME = NOTES.PROJECT_NUM;
32 V_WBS_VAL := NOTES.WBS;
33 V_WBS_PARENT := SUBSTR(V_WBS_VAL, 1, INSTR(V_WBS_VAL, '.', -1) - 1);
34 WHILE INSTR(V_WBS_PARENT, '.') <> 0 LOOP
35 V_WBS_PARENT := SUBSTR(V_WBS_PARENT, INSTR(V_WBS_PARENT, '.') + 1, 200);
36 END LOOP;
37 V_WBS_VAL := SUBSTR(V_WBS_VAL, INSTR(V_WBS_VAL, '.') + 1, 200);
38 WHILE INSTR(V_WBS_VAL, '.') <> 0 LOOP
39 V_WBS_VAL := SUBSTR(V_WBS_VAL, INSTR(V_WBS_VAL, '.') + 1, 200);
40 END LOOP;
41 SELECT W.WBS_ID
42 INTO V_WBS_ID
43 FROM PROJWBS W
44 , PROJWBS PW
45 WHERE UPPER(W.WBS_NAME) = UPPER(V_WBS_VAL)
46 AND PW.PROJ_ID = V_PROJ_ID
47 AND PW.WBS_ID = W.PARENT_WBS_ID
48 AND UPPER(PW.WBS_SHORT_NAME) = UPPER(V_WBS_PARENT);
49 GETNEXTKEYS('wbsmemo_wbs_memo_id', 1, V_WBSMEMO_ID);
50 EXECUTE IMMEDIATE
51 ' INSERT INTO WBSMEMO ' ||
52 ' SELECT ' || V_WBSMEMO_ID ||
53 ', ''' || V_PROJ_ID || '''' ||
54 ', ''' || V_WBS_ID || '''' ||
55 ', MT.MEMO_TYPE_ID ' ||
56 ', ''' || NOTES.TEXT || '''' ||
57 ' FROM MEMOTYPE MT ' ||
58 ' WHERE MT.MEMO_TYPE = ''' || NOTES.NTBKTYPE || '''';
59 END LOOP;
60 END;
61 /
Warning: Procedure created with compilation errors.
SQL> SHOW ERRORS
Errors for PROCEDURE NYP.WBS_NOTE:
LINE/COL ERROR
50/2 PL/SQL: Statement ignored
51/2 PLS-00382: expression is of wrong typeThere could be data type mis-match within the time you re-compiled the program. Check the data type for which you are Inserting / Updating with the values you are actually using to populate.
Note:
Insert into TABLE1
Select * from TABLE2.
It is not advisible to have the above statement
eventhough this will work as long as
the fields in table TABLE1 and TABLE2 are same.
Instead of "*" use the filed names.
CRAMANA -
Hi,
I am creating the procedure but getting the following error. I could not identify where the exact problem at line 5:
Oracle 11.2.0
SQL> CREATE OR REPLACE PROCEDURE BEDPOST_SATYA
2 (TRANDATE OUT BEDPOSTCHECK.TRANDATE%TYPE,
3 NOS OUT BEDPOSTCHECK.NOS%TYPE,
4 UNIT OUT BEDPOSTCHECK.TRANDATE%TYPE,
5 TDATE VARCHAR2(20);)
6 AS
7 Select to_char(SYSDATE-1,'YYYYMMDD') into TDATE from dual;
8 cursor satya is
9 select trandate,nos,unit from bedpostcheck where trandate=tdate;
10 begin
11 open satya;
12 loop
13 fetch satya
14 into trandate,nos,unit;
15 exit when satya%notfound;
16 dbms_output.put_line (trandate || unit || nos);
17 end loop
18 close satya;
19 END BEDPOST_SATYA;
20 /
Warning: Procedure created with compilation errors
SQL> SHOW ERRORS;
Errors for PROCEDURE JEEVADB.BEDPOST_SATYA:
LINE/COL ERROR
5/15 PLS-00103: Encountered the symbol "(" when expecting one of the following: := . ) , @ % default character
thanks
satyauser608405 wrote:
I have modified but getting the following errors:
SQL> CREATE OR REPLACE PROCEDURE BEDPOST_SATYA
2 (TRANDATE OUT BEDPOSTCHECK.TRANDATE%TYPE,
3 NOS OUT BEDPOSTCHECK.NOS%TYPE,
4 UNIT OUT BEDPOSTCHECK.TRANDATE%TYPE,
5 TDATE VARCHAR2(20))
6 AS
7 Select to_char(SYSDATE-1,'YYYYMMDD') into TDATE from dual;
8 cursor satya is
9 select trandate,nos,unit from bedpostcheck where trandate=tdate;
10 begin
11 open satya;
12 loop
13 fetch satya
14 into trandate,nos,unit;
15 exit when satya%notfound;
16 dbms_output.put_line (trandate || unit || nos);
17 end loop
18 close satya;
19 END BEDPOST_SATYA;
20 /
Warning: Procedure created with compilation errors
SQL> show errors;
Errors for PROCEDURE JEEVADB.BEDPOST_SATYA:
LINE/COL ERROR
5/15 PLS-00103: Encountered the symbol "(" when expecting one of the following: := . ) , @ % default character The symbol ":=" was substituted for "(" to continue.
7/1 PLS-00103: Encountered the symbol "SELECT" when expecting one of the following: begin function pragma procedure subtype type <an identifier> <a double-quoted delimited-identifier> current cursor delete exists prior external language The symbol "begin" was substituted for "SELECT" to continue.
8/8 PLS-00103: Encountered the symbol "SATYA" when expecting one of the following: := . ( @ % ;try this or the prior posting that i have.
CREATE OR REPLACE PROCEDURE BEDPOST_SATYA (TRANDATE OUT BEDPOSTCHECK.TRANDATE%TYPE,
NOS OUT BEDPOSTCHECK.NOS%TYPE,
UNIT OUT BEDPOSTCHECK.TRANDATE%TYPE) As
cursor satya is
select trandate,nos,unit
from bedpostcheck
where trandate = (SYSDATE-1,'YYYYMMDD');
begin
open satya;
loop
fetch satya into trandate, nos, unit;
exit when satya%notfound;
dbms_output.put_line (trandate || unit || nos);
end loop;
close satya;
END BEDPOST_SATYA;
/ -
Hi,
Please help me to solve this DBLink error in procedure.
Created a below DBLink and it is working fine all sql statements in sql plus.
DBLink created statement
CREATE DATABASE LINK "OFFICE2"
CONNECT TO "SALES" IDENTIFIED BY "SALES"
USING 'TNSOFFICE2';
SELECT TRANSACTIONID
FROM RECEIPT_DETAIL@OFFICE2
INSERT INTO RECEIPT_DETAIL@OFFICE2
(TRANSACTIONID)
VALUES
(665035);
While I am using this same statements in procedure, I am getting a error
'ORA-00942 table or view does not exist' in dblink used statements and procedure is not compiling.
Please help me to solve this problem
CREATE OR REPLACE
PROCEDURE TEST_PROC1 AS
L_REC_NO NUMBER(10);
CURSOR C1 IS
SELECT TRANSACTIONID
FROM RECEIPT_DETAIL@OFFICE2
BEGIN
OPEN C1;
FETCH C1 INTO L_REC_NO;
CLOSE C1;
INSERT INTO RECEIPT_DETAIL@OFFICE2
(TRANSACTIONID)
VALUES
(665035);
END TEST_PROC1;
Thanks & Regards,
Jen.Jen. wrote:
Created a below DBLink and it is working fine all sql statements in sql plus.Who owns this database link? (name of the schema)
While I am using this same statements in procedure, I am getting a error
'ORA-00942 table or view does not exist' in dblink used statements and procedure is not compiling.Who owns this stored procedure?
CURSOR C1 IS
SELECT TRANSACTIONID
FROM RECEIPT_DETAIL@OFFICE2
BEGIN
OPEN C1;
FETCH C1 INTO L_REC_NO;
CLOSE C1;Why? The following is a lot less code, easier to read and more maintainable.
L_REC_NO NUMBER(10);
begin
select transationid into l_rec_no from from receipt_detail@office2;
end;No need for an explicit cursor.
Also why are you using a L_ prefix for variables? And why underscores? This is an extremely silly standard that fails to understand the impact of Hungarian-like notation, how to correctly manage scope resolution, and using camelcase for variables (a standard in most modern programming languages).
The very worse place you can look at for programming standards is PL/SQL code from Oracle (as they have no consistent set standard as proved by the packages supplied by them, and often resort to COBOL-like standards of the 80's - which has no place in the 21st century software engineering) -
Error while running ejbc. Fatal error from EJB Compiler ---- Error while pr
Hi!
I was deploying a test application for a session bean with sun 1 studio 5 and I started getting this message while deploying.
I had tested the bean previously and I had no problems.
I found this in the sun app server 7 release notes, but I don't understand what I'm supposed to do...
"Deployment of CMP beans fails.
The following error is thrown because there are no <query-params> entries in the container-managed persistence (CMP) bean in sun-ejb-jar.xml file:
Error while running ejbc. Fatal error from EJB Compiler ---- Error while processing CMP beans.
Solution
Even if it isn't necessary for the CMP beans, add the query-params tag for finders in the sun-ejb-jar.xml file with the empty parameters."
Here is my sun-ejb-jar.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 EJB 2.0//EN" "http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-0.dtd">
<sun-ejb-jar>
<enterprise-beans>
<name>GestorDoBanco_EJBModule</name>
<ejb>
<ejb-name>Cliente</ejb-name>
<jndi-name>ejb/Cliente</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/Cliente.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>ClienteAssociadoAConta</ejb-name>
<jndi-name>ejb/ClienteAssociadoAConta</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/ClienteAssociadoAConta.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>Conta</ejb-name>
<jndi-name>ejb/Conta</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/Conta.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>GestorDoBanco</ejb-name>
<jndi-name>ejb/GestorDoBanco</jndi-name>
<pass-by-reference>false</pass-by-reference>
</ejb>
<ejb>
<ejb-name>MensagemM003</ejb-name>
<jndi-name>ejb/MensagemM003</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/MensagemM003.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>MensagemM003Rejeitada</ejb-name>
<jndi-name>ejb/MensagemM003Rejeitada</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/MensagemM003Rejeitada.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>MensagemM012</ejb-name>
<jndi-name>ejb/MensagemM012</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/MensagemM012.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>MensagemM012Rejeitada</ejb-name>
<jndi-name>ejb/MensagemM012Rejeitada</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/MensagemM012Rejeitada.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>MensagemM103</ejb-name>
<jndi-name>ejb/MensagemM103</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/MensagemM103.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>MensagemM112</ejb-name>
<jndi-name>ejb/MensagemM112</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/MensagemM112.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>Registo</ejb-name>
<jndi-name>ejb/Registo</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/Registo.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>TransaccaoConfirmada</ejb-name>
<jndi-name>ejb/TransaccaoConfirmada</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/TransaccaoConfirmada.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>TransaccaoFinalizada</ejb-name>
<jndi-name>ejb/TransaccaoFinalizada</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/TransaccaoFinalizada.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<ejb>
<ejb-name>TransaccaoIniciada</ejb-name>
<jndi-name>ejb/TransaccaoIniciada</jndi-name>
<pass-by-reference>false</pass-by-reference>
<cmp>
<mapping-properties>pcImpl0/moduleComp1/Data/TransaccaoIniciada.mapping</mapping-properties>
</cmp>
<refresh-period-in-seconds>600</refresh-period-in-seconds>
</ejb>
<pm-descriptors>
<pm-descriptor>
<pm-identifier>SunONE</pm-identifier>
<pm-version>1.0</pm-version>
<pm-class-generator>com.iplanet.ias.persistence.internal.ejb.ejbc.JDOCodeGenerator</pm-class-generator>
<pm-mapping-factory>com.iplanet.ias.cmp.NullFactory</pm-mapping-factory>
</pm-descriptor>
<pm-inuse>
<pm-identifier>SunONE</pm-identifier>
<pm-version>1.0</pm-version>
</pm-inuse>
</pm-descriptors>
<cmp-resource>
<jndi-name>mysqlpmanager</jndi-name>
<default-resource-principal>
<name>bes</name>
<password>besbes</password>
</default-resource-principal>
</cmp-resource>
</enterprise-beans>
</sun-ejb-jar>
Thanks in advance for any help.
Nunohttp://docs.sun.com/source/817-2175-10/decmp.html
Please go to the above docs and look thru the examples given in it.
Example 2
This query returns all products in a specified price range. It defines two query parameters which are the lower and upper bound for the price: double low, double high. The filter compares the query parameters with the price field:
"low < price && price < high"
The finder element of the sun-ejb-jar.xml file would look like this:
<finder>
<method-name>findInRange</method-name>
<query-params>double low, double high</query-params>
<query-filter>low < price && price <
high</query-filter
</finder>
I hope this hepls. In your case u just have to make it null. -
While opening the iTune Store i receive the following error, "The procedure entry point ADAdPolicyEngine_DidEnterSation could not be located in the dynamic link library iAdCore.dll" Please help me to clear this error.
I faced the same issue. This solved it for me: Troubleshooting issues with iTunes for Windows updates
Hope this helps. -
Error message when compiling book "file is corrupt" referring to a photo. Or "cannot find original photo". Can you use photos that have been "edited" out of "Book Mode"?
I did copy it to my desktop, but it still won't let me open it. I think the file on the disc might be corrupt or something like that though the cd itself checks out fine as far as viruses go. I was able to verify the disc, but that's about it. My husband tried it on his iMac and we have the same issue. It's unzipping the folder, but won't let us open the folder on both the Mac Book Pro or the iMac by double clicking, going to file/open or right clicking. It just keeps saying the same message as I posted above. I think I'm just going to have the client put the pictures on either a memory card or a USB memory stick so she won't have to compress the files for zipping purposes. It's been too frustrating trying to open this folder on this cd she gave me. She said she created/zipped the cd on her Mac Book Pro but it sure won't open on mine.
-
I have Windows Vista computer. I am trying to upgrade my ITunes so can share files with other home computer. (Just got the new IPhone). I get this system error: The procedure entry point AVCFPlayerItemDurationChangedNotification could not be located in the dynamic link library AVFoundationCF.dll. Tries system restore and redownloaded...NOW Itunes will not even open. Can anyone help?
I uninstalled Apple Application Support, opened iTunesSetup with WinRar, and went down the list of msi's. AppleApplicationSupport was an install, all the others I did Repair. Did not have to reboot. Works okay now.
HTH -
I am trying to build an executible program that will be portable to machines which do not have CVI installed. It works fine on my CVI v9.1 system. However, whether or not I include "Full run-time support" in the build options, I get the error "The procedure entry point _UP_GetActiveTreeCell could not be located in the dynamic link library cvirte.dll" when I try to run it on a machine without CVI. Please help.
To run a CVI application on a system were the CVI IDE is not installed you need to have the CVI RunTime Engine installed. According to the error message at the bottom of this page you may have an older RTE installed in the target system.
To obtain it you can either download the RTE and install in the target system or better let the IDE build a distribution disk that installs all necessary software in it: this guide drives you in creating the appropriate installer for your application: you can find it also in CVI help function.
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos? -
Can't launch itunes due to the following error; The procedure entry point AVCFPlayerAppliesMediaSelectionCriteriaKey could not be located in the dynamic link library AVFoundationCF.dll.
Hey bcolden,
I would try uninstalling and reinstalling following the directions in here:
Removing and reinstalling iTunes and other software components for Windows Vista, Windows 7, or Windows 8
http://support.apple.com/kb/HT1923
This section in particular contains important information in the uninstall process:
Use the Control Panel to uninstall iTunes and related software components in the following order and then restart your computer:
iTunes
Apple Software Update
Apple Mobile Device Support
Bonjour
Apple Application Support (iTunes 9 or later)
Important: Uninstalling these components in a different order, or only uninstalling some of these components may have unintended affects.
Let us know if following that article and uninstalling those components in that order helped the situation.
Welcome to Apple Support Communities!
Best,
Delgadoh
Maybe you are looking for
-
So, I bought a song on my ipod and it says it downloaded. When I checked my music on my ipod it wasn't there. I tried many different things with my Itunes, but it still isn't on my ipod... HELP.
-
Crystal Reports 8.5 Multi-Selection Formulas
Let me start by saying that I am fairly new to Crystal Reports design, so I appreciate your patience as I try to describe my issue to you. I am using Crystal Reports 8.5 with an Oracle database. The database contains a field that I refer to as a mul
-
I am using AudioQueues to play audio. In order to display a progress bar, I need to access the audio duration and the current position. Are there any APIs that I can use to get this info from the queue or the player?
-
JDeveloper does not render faces component.
I have created a new Fusion apps project. and whenever I open a jspx or jsff page, all components tags are not recognized and found the following error in Messages console Dec 19, 2012 6:43:33 PM oracle.adfinternal.view.faces.lifecycle.LifecycleImpl
-
Can't re-install Leopard(10.5) from external DVD-drive...
I'm trying to wipe my hard drive and re-install OS 10.5.5 from the start up DVD's apple sent me. The internal drive is broken and will not accept discs so I had to buy an external USB DVD drive. When I insert the disc and start the install process th