Pro*C compilation error - bulk insert statement
Guys, I am screwed up!
There's this Pro*C application that I am working on. I made some changes in some of the functions and when I compile using Pro*C pre-compiler (Version 9), it throws an error in one of the modules that I have not even touched.
Following is the error:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
++: Release 9.0.1.1.1 - Production on Fri May 25 20:35:30 2007
(c) Copyright 2001 Oracle Corporation. All rights reserved.
System default option values taken from: C:\oracle\ora90\precomp\admin\pcscfg.cfg
Error at line 1512, column 1 in file D:\Siemens\GABS-R\Source\GSM-R_Rating\RTLRa
ting\multimainrate_supp1_cug.pc
EXEC SQL FOR :record_roaming
1
PLS-S-00382, expression is of wrong type
Error at line 1512, column 1 in file D:\Siemens\GABS-R\Source\GSM-R_Rating\RTLRa
ting\multimainrate_supp1_cug.pc
EXEC SQL FOR :record_roaming
1
PLS-S-00000, SQL Statement ignored
Semantic error at line 1512, column 1, file D:\Siemens\GABS-R\Source\GSM-R_Rating\RTLRating\multimainrate_supp1_cug.pc:
EXEC SQL FOR :record_roaming
1
PCC-S-02346, PL/SQL found semantic errors
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
The location it is referring to is:
EXEC SQL FOR :record_roaming
INSERT /*+ PARALLEL(GT_RATED_ROAMING_CALLS) */
INTO GT_RATED_ROAMING_CALLS
(GF_SEQ_NO,
GF_CALL_PRODUCT,
GF_CDR_TYPE,
GF_REC_NO,
GF_REC_STAT,
GF_INTER_REC_NO,
GF_SS_REC_NO,
GF_SS_CODE,
GF_CALLING_NUM,
GF_CALLED_NUM,
GF_CALLING_IMSI,
GF_CALLED_IMSI,
GF_CALLED_NUM_TON,
GF_DIALLED_DIGITS,
GF_LAC,
GF_CELL,
GF_IN_CKTGRP,
GF_IN_CKTID,
GF_OUT_CKTGRP,
GF_OUT_CKTID,
GF_BS_TYPE,
GF_BS_CODE,
GF_DURATION,
GF_THREAD_ID,
GF_CARRIER,
GF_AIR_TIM_CHARGE,
GF_TOLL_CHARGE,
GF_TOLL_UNITS,
GF_ROAM_SURCHARGE,
GF_ROAMING_CHARGES,
GF_ADDITIONAL_CHARGES,
GF_CUST_ID,
GF_CONT_ID,
GF_BILL_PRD,
GF_STATUS,
GF_ERROR_CODE,
GF_RECON_STAT_LANDLINE,
GF_RECON_STAT_ROAMING,
GF_CALLING_IMEI,
GF_CALLED_IMEI,
GF_MSC_ID,
GF_ACTION_CODE,
GF_MSRN,
GF_LONG_DISTANCE_AIR_CHRG,
gf_home_zone_surcharge,
GF_SWITCH_CODE,
GF_BILL_DATE,
GF_CITY_CODE,
GF_BILL_FREQ,
GF_CALL_START_DATE,
GF_CALL_END_DATE,
GF_SMS_TEXT,
GF_TIME_STAMP_AVAILABLE,
GF_TYPE_OF_CALL,
GF_PEAK_OFFPEAK,
GF_PROCESS_DATE,
GF_MATCH_DATA,
GF_ORIG_ZONE_CODE,
GF_DEST_ZONE_CODE,
GF_PRICE_PLAN_CODE
values
(:gt_rated_roaming_calls,sysdate,:roaming_details_match_data,:l_gf_rcd_zone,:l_gf_price_plan);
Pls note that the host variables match exactly the number of fields in the INTO clause (anyway, the error in such a case is different).
Please save my soul!
Sanchit
Hi, check Metalink Note 451413.1 Pro*C Build Fails With Error PCC-02014 on File /usr/include/standards.h
I did workarround #2, and worked.
*+<Moderator edi t- deleted MOS Doc content - pl do NOT post contents of MOS Docs - this is a violation of your Support agreement>+*
Similar Messages
-
SQL*Loader-930: Error parsing insert statement for column
we upload data on daily basis in application throug apps user and these table are invloved
1. DEV_RA_INTERFACE_LINES_ALL(owner is a apps)
2.RA_INTERFACE_LINES_ALL(owner is a AR)
we do steps
1 delete record from DEV_RA_INTERFACE_LINES_ALL table
2 delete record from RA_INTERFACE_LINES_ALL table
3 load data using sql loader with apps user
4 insert in RA_INTERFACE_LINES_ALL table
we want to change user i mean these step do dataupload user not apps
we give the proper rights to dataupload like select,delete and insert rights on these table to dataupload user but when i going to load data throug sql loader we receive error
SQL*Loader-930: Error parsing insert statement for column APPS.DEV_RA_INTERFACE_
LINES_ALL.ORIG_SYSTEM_BILL_ADDRESS_ID.
ORA-00904: "F_ORIG_SYSTEM_BILL_ADDR_REF": invalid identifier
and if i insert data through apps then done.make sure that u have no speces left
between lines.
give the path of control file path correctly. -
ROWCOUNT in BULK Insert Statement
Hi,
I'm using in a BULK INSERT statement in a PL/SQL procedure and after execution of the SQL statement,I need to capture the row count.
Same is the case for UPDATE.
The Example code is as mentioned below:
INSERT INTO TBL1
(SELECT VAL1,VAL2 FROM TBL2)
No. of rows inserted needs to be retrieved after execution of this SQL.
Please let me know if there is any way to do it.
Thanks.SQL> create table emp as select * from scott.emp where 1 = 0 ;
Table created.
SQL> set serveroutput on
SQL> begin
2 insert into emp select * from scott.emp ;
3 dbms_output.put_line('Count='||SQL%RowCount) ;
4 end ;
5 /
Count=14
PL/SQL procedure successfully completed.
SQL> -
SQL*Loader-929: Error parsing insert statement for table
Hi,
I get the following error with SQL*Loader:
Table MYTABLE loaded from every logical record.
Insert option in effect for this table: INSERT
Column Name Position Len Term Encl Datatype
IDE FIRST * ; CHARACTER
SQL string for column : "mysequence.NEXTVAL"
CSI_NBR 1:10 10 ; CHARACTER
POLICY_NBR 11:22 12 ; CHARACTER
CURRENCY_COD 23:25 3 ; CHARACTER
POLICY_STAT 26:27 2 ; CHARACTER
PRODUCT_COD 28:35 8 ; CHARACTER
END_DAT 44:53 10 ; CHARACTER
FISCAL_COD 83:83 1 ; CHARACTER
TOT_VAL 92:112 21 ; CHARACTER
SQL*Loader-929: Error parsing insert statement for table MYTABLE.
ORA-01031: insufficient privileges
I am positive that I can SELECT the sequence and INSERT into the table with the user invoking sql*loader.
Where does that "ORA-01031" come from?
Regards
...Options:
1) you are wrong about privileges OR
2) you have the privilege only when you connect via SQL*Plus (or whichever other tool you used to test the insert).
Is it possible that during your test you enabled the role which granted you the INSERT privilege - and that SQL*Loader doesn't do this?
Can you see the table in this list?
select *
from user_tab_privs_recd
where table_name='MY_TABLE'
and owner='table owner whoever';
select *
from user_role_privs;Any roles where DEFAULT_ROLE is not YES?
HTH
Regards Nigel -
Compile Error: missing return statement
anyone knows why the following program yields compile error "missing return statement??"
class LengthTest
public int stringLength(String s)
{ int len = s.length();
if (len <= 5) return 5;
else if (len <= 10) return 10;
else if (len <= 20) return 20;
// else return 30;
If I add "else return 30" statement, then it can stop the error. Any ideas??You might know that the string length will never be more than 20, but the compiler does not. So it forces you to supply a return statement that will be executed no matter what the string length is.
-
Compiler Error, Missing Return Statement
This line of code for the begining of a method that reads a file always throws the compiler error, missing return statement. I can't figure out how to fix it!
public String[] read(InputStream list) throws Exception {
Could someone please help?you might need to post more code, but basically the
compiler is complaining because you do not have a
return statement at the end of your method.
if you do not have a return statement (with a matching
return type) then the compiler will complain. If you
don't understand this then post the code to your
method and we can get it fixed.
public String[] read(InputStream list) throws
Exception {
String[] stringArray;
return stringArray;
The code is the most complex I have written so far but here is some of it. (the begining and the end)
public String[] read(InputStream list) throws Exception {
if (list != null) {
String[] stringArray = null;
try {
while {
//add strings to string array
}//end of while
return stringArray;
}// end try
catch{
}//end of method -
hi,
i have used script for insert statement.while compiling it ,it shows error in declare section that to in t24_customer_code.can any body pls check out and tell me.
the script is ....
DECLARE
a NUMBER := 10;
t24_customer_code NUMBER;
my_tab SYS.dbms_debug_vc2coll := SYS.dbms_debug_vc2coll ();
BEGIN
LOOP
EXIT WHEN a > 20;
a := a + 1;
t24_customer_code:= 9700 + a;
INSERT INTO t24_customer
(t24_customer_code,
T24_MNEMONIC,
T24_SHORT_NAME,
T24_NAME_1,
T24_NAME_2,
T24_STREET,
T24_SECTOR,
T24_ACCOUNT_OFFICER,
T24_OTHER_OFFICER,
T24_INDUSTRY,
T24_TARGET,
T24_NATIONALITY,
T24_CUSTOMER_STATUS,
T24_LANGUAGE)
VALUES
(t24_customer_code,
'MNEMON' || a,
'HANSARUN',
'KUMAR',
'MAQSOOD',
'NIYAZ DINESH',
1001,
1,
5,
1000,
1,
'US',
2,
'US');
my_tab.EXTEND;
my_tab (a - 1) := t24_customer_code;
END LOOP;
OPEN :cur FOR
SELECT *
FROM t24_customer
WHERE t24_customer_code IN (SELECT COLUMN_VALUE
FROM TABLE (CAST (my_tab AS SYS.dbms_debug_vc2coll)));
END;
thanks
ratheeshPlease describe column name and data type on your table.
T24_MNEMONIC is not NUMBER, is it?
By the way,
VALUES
(t24_customer_code,Here t24_customer_code is not your variable
but that is column name of t24_customer.
You might get another error after solving 'ORA-01722: invalid number'
SQL> edit
Wrote file afiedt.buf
1* insert into scott.dept (deptno) values (deptno)
SQL> /
insert into scott.dept (deptno) values (deptno)
ERROR at line 1:
ORA-00984: column not allowed here -
How to change Bulk Insert statement from MS SQL to Oracle
Hi All,
Good day, I would like to bulk insert the content of a file into Oracle db. May I know how to change the below MS SQL syntax to Oracle syntax?
Statement statement = objConnection.createStatement();
statement.execute("BULK INSERT [TBL_MERCHANT] FROM '" MERCHANT_FILE_DIR "' WITH ( FIELDTERMINATOR = '~~', ROWTERMINATOR = '##' )");
Thanks in advance.
cs.Oracle SQL Loader utility allows you to insert data from flat file to database tables.
Go to SQL Loader links on following url to learn more on this utility
http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/server.920/a96652/toc.htm
Chandar -
Syntax error in INSERT STATEMENT
A problem on the date part of the query but why I don´t
know, Thanks for any pointers,
TIA
<cfquery name="update1" datasource="trevor_SecurityDB">
INSERT INTO imagesproducts
(title, info, date)
VALUES ( '#form.title#', '#form.info#', '#DateFormat(Now())#'
</cfquery>
Error Occurred While Processing Request
Error Executing Database Query.
[Macromedia][SequeLink JDBC Driver][ODBC
Socket][Microsoft][ODBC Microsoft Access Driver] Syntax error in
INSERT INTO statement.
The error occurred in uploadmember.cfm: line 28
26 : INSERT INTO imagesproducts
27 : (title, info, date)
28 : VALUES ( '#form.title#', '#form.info#',
'#DateFormat(Now())#' )
29 : </cfquery>
30 :
SQL INSERT INTO imagesproducts (title, info, date) VALUES (
'News test', 'Testing news info', '12-Jul-07' )
DATASOURCE trevor_SecurityDB
VENDORERRORCODE -3502
SQLSTATE 42000Perhaps it is a reserved word issue with the date column,
since
date is an ODBC Reserved Keyword. You might try enclosing it
within brackets [ ].
<cfquery name="update1" datasource="trevor_SecurityDB">
INSERT INTO imagesproducts
(title, info, [date])
VALUES ( '#form.title#', '#form.info#', '#DateFormat(Now())#'
</cfquery>
Or, if that doesn't help, you might try using a cfqueryparam
tag for the '#DateFormat(Now())#' value using a cfsqltype =
"CF_SQL_TIMESTAMP" (assuming a date/time datatype on the column).
Also, you might look into using one of the CreateODBCDateTime() or
CreateODBCDate() functions.
Phil -
Why does plsql give compilation error for select statement?
When I run following plsql program, it gives compilation error. Could somebody please point me out what could be wrong here? I am running it from system user.
create or replace procedure drop_user_proc (iname in varchar2) is
uname varchar2(100);
begin
select username into uname from dba_users where username = upper(iname);
end drop_user_proc;
select username from dba_users where username = upper('newuser');
When I run it, I get following error. dba_users is there that is the reason it works outside plsql block, but it doesn't from inside block.
SQL> @t4
Warning: Procedure created with compilation errors.
USERNAME
NEWUSER
SQL> show err
Errors for PROCEDURE DROP_USER_PROC:
LINE/COL ERROR
4/3 PL/SQL: SQL Statement ignored
4/35 PL/SQL: ORA-00942: table or view does not existRole based grants are not available within the stored procedures.
Only explicit grants are recognized when compiling stored code.
You need to grant select on that table to the user where you are creating this procedure. -
Hi Friends,
Database Oracle 9i - Pro*C/C++: Release 9.2.0.4.0
OS - powerpc-ibm-aix5.3.0.0
C Compiler - GNU gcc version 4.2.0
I am using the below command to compile "daemon.pc"
/usr/bin/make -f proc.mk build OBJS=daemon.o EXE=daemon
The errors I am facing while compiling "daemon.pc" are --
GGC heuristics: param ggc-min-expand=100 param ggc-min-heapsize=131072
Compiler executable checksum: 390e64d91265cc859d3a136f414a35d0
daemon.c:117: warning: type defaults to 'int' in declaration of 'sqlcxt'
daemon.c:119: warning: type defaults to 'int' in declaration of 'sqlcx2t'
daemon.c:121: warning: type defaults to 'int' in declaration of 'sqlbuft'
daemon.c:122: warning: type defaults to 'int' in declaration of 'sqlgs2t'
daemon.c:123: warning: type defaults to 'int' in declaration of 'sqlorat'
daemon.c: In function 'connect_error':
daemon.c:281: warning: implicit declaration of function 'sqlglm'
daemon.c:285: warning: implicit declaration of function 'exit'
daemon.c:285: warning: incompatible implicit declaration of built-in function 'exit'
daemon.c: In function 'sql_error':
daemon.c:300: warning: too few arguments for format
daemon.c: At top level:
daemon.c:305: warning: return type defaults to 'int'
daemon.c: In function 'main':
daemon.c:482: warning: implicit declaration of function 'system'
daemon.c:745: warning: incompatible implicit declaration of built-in function 'exit'
daemon.c: At top level:
daemon.c:114: warning: 'sqlstm' defined but not used
daemon.c:126: warning: 'IAPSUCC' defined but not used
daemon.c:127: warning: 'IAPFAIL' defined but not used
daemon.c:128: warning: 'IAPFTL' defined but not used
=============================================================
After compiling when I try to execute "daemon", the following error appears -
Memory fault(coredump)
=============================================================
When I debug "daemon" with "dbx" debugger, I get the following errors -
dbx daemon core
Type 'help' for help.
[using memory image in core]
reading symbolic information ...internal error: expected char ',', found ';12,64,384;;'
internal error: expected char ';', found ',384;;'
internal error: index("384;;", ':') failed
Segmentation fault in sqlglmt at 0x9000000057f795c ($t1)
0x9000000057f795c (sqlglmt+0x94) 9c030001 stbu r0,0x1(r3)
(dbx) where
sqlglmt(??, ??, ??, ??) at 0x9000000057f795c
sqlglm(??, ??, ??) at 0x9000000057f7070
unnamed block in main(), line 281 in "daemon.c"
unnamed block in main(), line 281 in "daemon.c"
unnamed block in main(), line 281 in "daemon.c"
main(), line 281 in "daemon.c"
=============================================================
Please help me identifying the issue. Even a small hint would help me solve the problem. Thank you very much in advance.
Regards,
Abhishek JainWhat are includes you have used in the .PC file ..? are you missing some standard headers ..??
Try without using make files
PROC file_name.pc Check any errors on this.
Then link with -lclntsh -lexc -lmld -lrt -laio -lm -lxti -lpthread
regards
Prajith -
Pro*Cobol compilation error
Hi all,
We have two Identical servers DEV1 and PROD1 with same SunOS and Oracle Db versions.
Then we have a pro*cobol program "prog1" which compile clean at DEV1, but when copied to PROD1 and compiled it does not
go clean compile.
Can you help me how to troubleshoot this problem please.
Is there a bug in Oracle pro*cobol that I may not be aware of?
How do I compare the pro*cobol version of the 2 servers?
I also tried to check the server OS versions:
@DEV1
uname -a
SunOS DEV1 5.10 Generic_144488-12 sun4v sparc SUNW,T5440
@PROD1
uname -a
SunOS PROD1 5.10 Generic_118833-17 sun4u sparc SUNW,Sun-Fire-V440Are our OS in sync?
MF cobol version:
check cobrun:
DEV1 MF Cobol Version:
V5.1 revision 0 build 10/10/2 G; 07109. Run Time System RXCTI/AA0/00000Q.
DEV2 MF Cobol Version:
V5.1 revision 0 build 10/10/2 G; 07209. Run Time System RXCTI/AA0/00000QIs our cobol compiler in sync?
Thanks a lot,
Edited by: KinsaKaUy? on 16-Sep-2011 02:44What kind of error it throw ??
Are both server have similar hardware configuration??
Thanks
Cheeta -
I am trying to compile a simple Pro*C program. i wrote this for
solaris, and it worked fine. i am now trying to run it on linux,
i am getting some real funky errors...
Error at line 0, column 0 in file test01.pc
PCC-S-02201, Encountered the symbol "<eof>" when expecting one of
the following
i have RH5.1, 96M Ram, P133. everything else is working
beautifully. great job by the people at oracle...
thanks for any help,
-- adam
nullAdding the option common_parser=yes removes the errors !
But brings errors linked to the PL/SQL parser such like
CSF-S-00000, ORA-06544: PL/SQL : erreur interne, arguments : [55916], [], [], []
1>, [], [], [], []
1>ORA-06553: PLS-801: erreur interne [55916]
Really vicious..and still not precompiling !
By the way : Server is 10.2.0.1... and i guess thoses errors are normal since the common parser is not available in this version...
So bye bye option common_parser and i'm back to my orignals errors.
Message was edited by:
Vicenzo -
Ora-02287 error in insert statement
Hello. I'm trying an insert query like that:
insert into table(a,b,c)
values
((select seq.nextval from dual),
'b-value',
'c-value'
And I get that error. How can I solve it?Try..
insert into table(a,b,c)
values
(seq.nextval,
'b-value',
'c-value'
) -
Reduce time consumption of a bulk insert statement
Hi All,
I am trying to insert some large amount of data records into a Global Temporary Table (GTT) using a query like below. Below SQL statement is generated as a string and executed as a dynamic sql statement.
INSERT INTO
my_table ( col1, col2, col3, col4)
SELECT c1, c2, c3, c4
FROM tab1 t1,
tab2 t2,
tab3 t3
WHERE <<dynamically generated where clause>>
UNION ALL
SELECT c1, c2, c3, c4
FROM tab4 t4,
tab5 t5,
tab6 t6
WHERE <<dynamically generated where clause>>
UNION ALL
SELECT c1, c2, c3, c4
FROM tab4 t4,
tab5 t5,
tab6 t6
WHERE <<dynamically generated where clause>>
UNION ALL
SELECT c1, c2, c3, c4
FROM tab4 t4,
tab5 t5,
tab6 t6
WHERE <<dynamically generated where clause>>
The problem is, it takes some considerable amount of time(25-30 seconds) to write the resulted data set into GTT(my_table ). I have checked the SELECT statement above (without the INSERT), and it gives the result set in few seconds. Therefore i assume it's the INSERT that takes more time. (SELECT statement returns around 75000+ records). The GTT consists of 8 columns and 6 out of those are marked as a primary key.
Are there any other mechanisms that I can use to efficiently insert large amount of data in to the table? Really appreciate all of your comments and suggestions.
Best Regards,
NipunaHi,
I'm not sure about your query speed :) Don't have it against me, but sometimes users just run SELECT statement and waits unitl first rows are returned (e.g. using TOAD which fetches 500 first rows as default) and they are convinced that this is response time for whole set. You have to navigate to last record to see real response time. But probably this is not the casse here. When you insert a large set of data consider to move such statement from forms to database (you avoid data roundtrip between forms and DB). If your insert still takes to much time then try to trace session you run your statement and(if possible) try to monitor your database resource ussge. If you're not able to use dbms_trace then you can just lokk at the system v$Session views. Following two views can be helpful to investigate most time consuming waits and can help understand the reason of slowness.
select * from v$session_wait
select * from v$session_wait_history
Maybe you are looking for
-
Snapshots not getting generated automatically
Hi all, I want to generate an ADDM report. For that, I am running the addmrpt.sql script in $ORACLE_HOME/rdbms/admin While running, i am being asked for the begin_snap ID and end_snap ID. The problem is I have only one snap_id. The snapshots are not
-
can some one help me to find a pashto font
-
JDev 1213 : The 'requires-ui' attribute is deprecated Use 'headess' instead
Hi, I get the following error when starting Jdeveloper for 12.1.3 (10.1.3.3.0.3): D:\ORACLETOOLS\jdeveloper1213\jdevbin\jdev\extensions\oracle.Service.10.1.3.jar Warning(38,40): The 'requires-ui' attribute is deprecated. Use 'headless' instead. Warni
-
Early Watch Alerts Problem in Solution Manager
Hello, I am trying to configure EWA for my SAP R/3 systems in Solution Manager 3.2. RFC connections are working fine. EWA report that is getting generated is showing me following problem : <b>EarlyWatch Alert - R/3 System</b>********** <b>Download Pr
-
HT1918 Unable to use iTunes internationally!
I am a Kiwi living between Australia and New Zealand. iTunes does not seem to let me work between these two very close countries. I can not register in Australia. Any suggestions as I have an iTunes Voucher I would like to redeem. Thanks