ORA-00939: too many arguments for function using Timezones in xquery
Running on Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
CREATE TABLE "ORT"."SAMPLE"
( "THEDATE" DATE,
"THETIMESTAMP" TIMESTAMP (6),
"STARTTIMESTAMP" TIMESTAMP (6) WITH LOCAL TIME ZONE,
"ENDTIMESTAMP" TIMESTAMP (6) WITH LOCAL TIME ZONE
REM INSERTING into SAMPLE
SET DEFINE OFF;
Insert into SAMPLE (THEDATE,THETIMESTAMP,STARTTIMESTAMP,ENDTIMESTAMP) values (to_date('13-06-10 14:07:52','RR-MM-DD HH24:MI:SS'),to_timestamp('13-06-19 14:27:52.000000000','RR-MM-DD HH24:MI:SS.FF'),to_timestamp('13-06-19 10:34:04.586000000','RR-MM-DD HH24:MI:SS.FF'),to_timestamp('13-06-19 15:05:38.805000000','RR-MM-DD HH24:MI:SS.FF'));
following query raises ora-00939
SELECT XMLQUERY('for $v in fn:collection("oradb:/ORT/SAMPLE")
let $date1 := $v/ROW/STARTTIMESTAMP/text()
let $date2 := $v/ROW/ENDTIMESTAMP/text()
return if ($date1 < $date2) then (concat($date1," date is less than ", $date2)) else (concat($date1," date is greater than ", $date2)) ' returning content) from dual;
ORA-00939: too many arguments for function
00939. 00000 - "too many arguments for function"
*Cause:
*Action:
any ideas?
Hi Odie,
Not too familiar with XQuery rewrite, but i suspect by providing this hint, Oracle cannot optimize the query whatsoever.... tried this hint in my actual query and basically hangs.... I will attempt at opening an SR with Oracle...
the other option i'm looking at is checking the date ranges outside of xquery, and using a mix of xmltable, xmlexists and the SQL XML functions to reconstruct my xml.
Similar Messages
-
Hello all,
I have a view called V_MEDGEN_LISTRADIO but I can't run
SELECT * FROM V_MEDGEN_LISTRADIO
ORA-02020: too many database links in useThe cause is that we call in the view 5 tables over dblink and the open_links parameter is set to 4.
What is strange is that when I run this select by adding a where clause then it works!
SELECT * FROM V_MEDGEN_LISTRADIO WHERE SPRR = 3645;Can someone explain me ? (use of index so all tables are not called ???)
ThanksExplain plan for SELECT * FROM V_MEDGEN_LISTRADIO WHERE SPRR = 3645;
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop | Inst |IN-OUT|
| 0 | SELECT STATEMENT | | 1 | 244 | 19 (6)| 00:00:01 | | | | |
| 1 | SORT ORDER BY | | 1 | 244 | 19 (6)| 00:00:01 | | | | |
| 2 | NESTED LOOPS | | 1 | 244 | 18 (0)| 00:00:01 | | | | |
| 3 | NESTED LOOPS | | 1 | 218 | 17 (0)| 00:00:01 | | | | |
| 4 | NESTED LOOPS | | 1 | 188 | 15 (0)| 00:00:01 | | | | |
| 5 | NESTED LOOPS | | 3 | 384 | 10 (0)| 00:00:01 | | | | |
| 6 | NESTED LOOPS | | 3 | 186 | 4 (0)| 00:00:01 | | | | |
| 7 | REMOTE | SPRR | 1 | 20 | 2 (0)| 00:00:01 | | | DEV10~ | R->S |
| 8 | REMOTE | MPAT_MF | 3 | 126 | 2 (0)| 00:00:01 | | | DEV10~ | R->S |
| 9 | REMOTE | SPER_P | 1 | 66 | 2 (0)| 00:00:01 | | | ORAP_~ | R->S |
|* 10 | TABLE ACCESS BY GLOBAL INDEX ROWID| DOSSIER_MEDICAL | 1 | 60 | 3 (0)| 00:00:01 | ROWID | ROWID | | |
|* 11 | INDEX RANGE SCAN | DOSMED_MPR_IDX2 | 2 | | 1 (0)| 00:00:01 | | | | |
| 12 | REMOTE | MEP | 1 | 30 | 2 (0)| 00:00:01 | | | ORAP_~ | R->S |
| 13 | REMOTE | SSV | 1 | 26 | 1 (0)| 00:00:01 | | | ORAP_~ | R->S |
Predicate Information (identified by operation id):
10 - filter("DM"."EXAM_TYPE"='TELEM')
11 - access("DM"."MPR"="P"."SPER")
Remote SQL Information (identified by operation id):
7 - SELECT "SPRR","MNEMO" FROM "SPRR" "MP" WHERE "SPRR"=3645 (accessing 'DEV10_DBLK' )
8 - SELECT "SPAT","DU","RMPB","SPRR_MF","AU" FROM "MPAT_MF" "MF" WHERE "SPRR_MF"=3645 AND NVL("AU",:1+1)>=:2 AND
"RMPB"='PRINC' AND "DU"<=:3 (accessing 'DEV10_DBLK' )
9 - SELECT "SPER","NOM","PRENOM","DTE_NAI" FROM "SPER_P" "P" WHERE "SPER"=:1 (accessing 'ORAP_DBLK' )
12 - SELECT "MSJ","MEPNO_SEQ","SSV_OU_PAT_SEJOURNE" FROM "MEP" "MEP" WHERE :1="MSJ" AND :2="MEPNO_SEQ" (accessing 'ORAP_DBLK' )
13 - SELECT "SSV","LIB_1" FROM "SSV" "SSV" WHERE :1="SSV" (accessing 'ORAP_DBLK' )Explain plan for SELECT * FROM V_MEDGEN_LISTRADIO
Plan hash value: 3820716840
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop | Inst |IN-OUT|
| 0 | SELECT STATEMENT | | 7 | 1708 | 771 (1)| 00:00:10 | | | | |
| 1 | SORT ORDER BY | | 7 | 1708 | 771 (1)| 00:00:10 | | | | |
| 2 | NESTED LOOPS | | 7 | 1708 | 770 (1)| 00:00:10 | | | | |
| 3 | NESTED LOOPS | | 7 | 1568 | 763 (1)| 00:00:10 | | | | |
| 4 | NESTED LOOPS | | 7 | 1386 | 756 (1)| 00:00:10 | | | | |
| 5 | NESTED LOOPS | | 7 | 1176 | 742 (1)| 00:00:09 | | | | |
| 6 | NESTED LOOPS | | 194 | 24444 | 414 (1)| 00:00:05 | | | | |
| 7 | TABLE ACCESS BY GLOBAL INDEX ROWID| DOSSIER_MEDICAL | 194 | 11640 | 23 (0)| 00:00:01 | ROWID | ROWID | | |
|* 8 | INDEX RANGE SCAN | DOSMED_EXAM_TYPE_IDX2 | 194 | | 1 (0)| 00:00:01 | | | | |
| 9 | REMOTE | SPER_P | 1 | 66 | 2 (0)| 00:00:01 | | | ORAP_~ | R->S |
| 10 | REMOTE | MPAT_MF | 1 | 42 | 2 (0)| 00:00:01 | | | DEV10~ | R->S |
| 11 | REMOTE | MEP | 1 | 30 | 2 (0)| 00:00:01 | | | ORAP_~ | R->S |
| 12 | REMOTE | SSV | 1 | 26 | 1 (0)| 00:00:01 | | | ORAP_~ | R->S |
| 13 | REMOTE | SPRR | 1 | 20 | 1 (0)| 00:00:01 | | | DEV10~ | R->S |
Predicate Information (identified by operation id):
8 - access("DM"."EXAM_TYPE"='TELEM')
Remote SQL Information (identified by operation id):
9 - SELECT "SPER","NOM","PRENOM","DTE_NAI" FROM "SPER_P" "P" WHERE :1="SPER" (accessing 'ORAP_DBLK' )
10 - SELECT "SPAT","DU","RMPB","SPRR_MF","AU" FROM "MPAT_MF" "MF" WHERE NVL("AU",:1+1)>=:2 AND "RMPB"='PRINC' AND "DU"<=:3 AND
:4="SPAT" (accessing 'DEV10_DBLK' )
11 - SELECT "MSJ","MEPNO_SEQ","SSV_OU_PAT_SEJOURNE" FROM "MEP" "MEP" WHERE :1="MSJ" AND :2="MEPNO_SEQ" (accessing 'ORAP_DBLK' )
12 - SELECT "SSV","LIB_1" FROM "SSV" "SSV" WHERE :1="SSV" (accessing 'ORAP_DBLK' )
13 - SELECT "SPRR","MNEMO" FROM "SPRR" "MP" WHERE :1="SPRR" (accessing 'DEV10_DBLK' ) -
Too many arguments for stored procedure call
I have a stored procedure with 34 arguments, including the return value. I am trying to call it from java using JDBC thin drivers (jdk11, oracle815), but I get the "wrong number or types of arguments" error message. JDBC-OCI fails also. I saw a reference in this discussion group to there being a limit of 32 arguments for stored procedure calls from jdbc (posted 6/29/99). Is there such a limit? If so, is there a fix or workaround? If there is not a limit, how can I determine which argument is causing the problem?
Many thanks.
Mike
java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00306: wrong number or types of arguments in call to 'PUT_CHECK'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a)
at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement
.java)
at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
edStatement.java)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat
ement.java)
at metris.quickcheck.database.DS1.main(DS1.java:79)
nullI must confess I still don't understand your problem. By rows ...
I have an sql that recodes a column and has 1450 rows. This doesn't work
although when I use the same with less rows 40-60 it works.... do you mean rows in the table or elements in the CASE() statement ?
From the 9i SQL Reference:
" The maximum number of arguments in a CASE expression is 255, and each WHEN ... THEN pair counts as two arguments. To avoid exceeding the limit of 128 choices, you can nest CASE expressions. That is return_expr can itself be a CASE expression."
According to the 10g docs the limit is the same there.
Cheers, APC -
Ora-02020 too many database links in use
Hi All,
While trying to update Table through datalink in my program I am getting the above error. Without modifying the v$parameter value ( 'open_links' ) in database how to use this feature to close Inactive sessions in BPEL ?Yes, I set the init.ora parameters on all servers and then restarted them. I still get the error.
Note that, for convenience, all my servers have public database links to all other servers in my private network.
This procedure (described at the start) works for one run of copying 50 tables from one server to one other server:
server1 runs the procedure and copies data from server2 to server3 (total of 3 servers in the process)But I get the error when I run the procedure to copy 40 tables from multiple servers to one other server:
server1 runs the procedure and copies data from server2, server3, and server4 to server5The error occurs when only four (or five) servers are involved in the process.
Any suggestions are greatly appreciated.
Edited by: user652257 on Nov 1, 2009 12:40 PM -
Report error: ORA-02020: too many database links in use
I am getting error ORA-02020 in a report that works exactly the same in other APEX instance.
The query refers several tables from Oracle Financials with a single database link.
The weird thing is that for some parameters the report shows the expected lines, and for other parameters it shows the error message.
There are three other regions in the same page running grouped versions of the same query and they work perfectly.
Any idea will be welcome.
Francisco
============
Below is the FROM section of the query, just one link to Oracle Financials:
FROM GL.GL_JE_HEADERS@ORAFIN A,
GL.GL_JE_LINES@ORAFIN B,
GL.GL_CODE_COMBINATIONS@ORAFIN C,
APPLSYS.FND_FLEX_VALUES@ORAFIN D,
APPLSYS.FND_FLEX_VALUES_TL@ORAFIN E,
APPLSYS.FND_FLEX_VALUES@ORAFIN F,
APPLSYS.FND_FLEX_VALUES_TL@ORAFIN G,
GL.GL_PERIODS@ORAFIN H,
FIN_ALLOCATION_PERCENTAGES IRelated threads:
Re: SESSION_PER_USER limit gets exceeded
Re: APEX Sessions and Database sessions
Scott -
HTTP-400 Too many arguments passed
Hello There,
I installed the fresh 10g and applied patchset 2 on it. I get following error:
HTTP-400 Too many arguments passed upper limit is 2000
Please helpHello Qiang,
Little more detail for your reference.
README for 3355915
MODPLSQL VERSION 9.0.2.6.0A ONE-OFF PATCH
Date: January 6, 2004
o What is in this patch?
-> FIXES FOR:
Bug#3355915 : BACKPORT BUG#3329645
Bug#3116388 : TASK: MOD_PLSQL DOES NOT ALLOW PASSING MORE THAN 2000 PARAMETERS
Bug#3024540 : NON-SUCCESS CODES WITH NO CONTENT SHOULD SERVE OHS ERRORDOCUMENT
Bug#2023253 : NLS:FILE IS NOT PROPERTY UPLOADED IF IT'S FILENAME CONTAINS 0X5C
Bug#3329645 : MODPLSQL IS UNABLE TO PASS PARAMETER LESS THAN 32K BYTES
Bug#3264502 : DOC PATH REQUEST WITH PERPACKAGE AUTH CALL WRONG AUTH FUNCTION
Bug#2802064 : ORA-01036 ILLEGAL VAR NAME/NUMBER USING VARIABLE NAMED P_ARRAY
o What version can I apply this patch on?
-> iAS 9.0.2.x.x -
hi
I am getting the following error while calling the procedure in the batch process
ORA-06512: at "SYS.UTL_HTTP", line 1022
ORA-29270: too many open HTTP requests
Could you please help me on this? As this is getting affected in the live databases.
ORA-06512: at "SYS.UTL_HTTP", line 1022
ORA-29270: too many open HTTP requests
CREATE OR REPLACE PROCEDURE Send_To_Spg(
PTRANSACTION_ID IN VARCHAR2,
PCHANNEL_TYPE IN VARCHAR2 DEFAULT NULL,
PCSS_ORDER_NUMBER IN VARCHAR2 DEFAULT NULL,
PTELEPHONE_NUMBER IN VARCHAR2 DEFAULT NULL,
PSCENARIO_TYPE IN VARCHAR2 DEFAULT NULL,
PCUSTOMER_REQUIRED_DATE IN VARCHAR2 DEFAULT NULL,
PCUSTOMER_REQUIRED_TIME IN VARCHAR2 DEFAULT NULL,
PCANCELLATION_REASON IN VARCHAR2 DEFAULT NULL,
PCANCELLATION_NOTES IN VARCHAR2 DEFAULT NULL,
PSMPF_RETENTION IN VARCHAR2 DEFAULT NULL,
PEMERGENCY_WINBACK IN VARCHAR2 DEFAULT NULL,
PCSS_PROJECT_ID IN VARCHAR2 DEFAULT NULL,
PCSS_ORDER_NOTES IN VARCHAR2 DEFAULT NULL,
PREASON_FOR_CESSATION IN VARCHAR2 DEFAULT NULL,
P_RESPONSE OUT VARCHAR2,
PSMART_USER_ID IN VARCHAR2 DEFAULT NULL,
PORACLE_ERROR OUT VARCHAR2,
PORACLE_ERROR_MESSAGE OUT VARCHAR2,
PRESPONSE_TIME OUT NUMBER,
PDATA_TRANSFER_STATUS OUT VARCHAR2)
IS
v_scenario_type VARCHAR2(20); -- Varialble to Hold Time Out of every request to SPG
v_transaction_time NUMBER; -- Total time in which Request to SPG was processed
v_record_inserted_at DATE; -- Date/Time about the record insertion to the Error Handler
v_start_time NUMBER; -- Variable to hold Start Time for calculationg Transaction Time
v_url VARCHAR2(32767);-- URL to use when sending data to SPG
vtransaction_id VARCHAR2(18); -- Variable to hold Transaction ID for the request
v_buffer VARCHAR2(32760);-- Variable to read response from the SPG interface
v_timeout PLS_INTEGER; -- Time Out for each Transaction
v_oracle_err_msg VARCHAR2(600); -- Variable to hold Oracle Error Message
v_resp UTL_HTTP.RESP; -- Response Object
v_req UTL_HTTP.REQ; -- Request Object
v_userid_pwd SMT_ORACLE_PARAMETERS%ROWTYPE; --Variable declared to contain User ID & Password
vl_RetCode VARCHAR2(5000);
vl_std_returnCode VARCHAR2(3000);
--PDATA_TRANSFER_STATUS Holds the Data Transfer Status which can have possible values as
-- N => Data Has not been sent to SPG
-- Y => Received Successful response from SPG
-- F => On the First try to Send data to SPG Oracle Error Occured or response from SPG was a faulure
-- S => On the Second try to Send data to SPG Oracle Error Occured or response from SPG was a faulure
-- T => Data Has been transferred to the Error Log Table
-- X => Data need not be transfered to Error Log Table.
--Location of the timeout, URL & User Id & Password in Standing Data.
c_url_stopwlr SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_WLR';-- Stop WLR URL
c_url_cancelown SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_OWN';-- Cancel own URL
c_url_cancelother SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_OTH';-- Cancel other URL
c_url_amendcrd SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPG_CRD';--Amend CRD URL
c_spg_useridpwd SMT_ORACLE_PARAMETERS.PARAMETER_CODE%TYPE:='SPGIDPWD'; --Contains user id and pwd
ctimeout smt_parameters.parameter_code%TYPE:='SPGTO'; --This holds the timeout parameter
BEGIN
--In case the calling batch process can pass this value this SQL read will not be required & can be deleted
--Read data transfer status for the transaction Id
SELECT data_transfer_status INTO PDATA_TRANSFER_STATUS FROM SPG_INTERFACE_TABLE
WHERE transaction_id = PTRANSACTION_ID;
--Record the start time
v_start_time:=DBMS_UTILITY.GET_TIME;
--If Data transfer status is S then send the record to error handler
IF PDATA_TRANSFER_STATUS = 'S' THEN
Error_Handler(PTRANSACTION_ID,PSMART_USER_ID,PORACLE_ERROR,PORACLE_ERROR_MESSAGE,v_record_inserted_at,PDATA_TRANSFER_STATUS);
ELSE
--In case Data Tranfer Status is something other than S then send the request to SPG
--Initialise other variables which will be populated during the journey
P_RESPONSE := '';
PORACLE_ERROR := NULL;
PORACLE_ERROR_MESSAGE := NULL;
PRESPONSE_TIME := 0;
--Read timeout parameter from standing data.
BEGIN
SELECT VALUE INTO v_timeout FROM smt_parameters WHERE parameter_code=ctimeout;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_timeout:=30;
WHEN OTHERS THEN
v_timeout:=30;
END;
-- Construct the URL for Stop WLR Scenario
IF PSCENARIO_TYPE = 'STOP_WLR' THEN
BEGIN
-- Read the Initial URL from Standing Data
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_stopwlr
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url:='Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_winback_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url:='Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_winback_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL depending on the parameters to be passed to the url
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' || Smart_Urlencode('xmloverhttp') || '&';
v_url := v_url || 'p_channel_type=' || Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' || Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' || Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_crd=' || Smart_Urlencode(PCUSTOMER_REQUIRED_DATE)|| '&';
v_url := v_url || 'p_take_over_time=' || Smart_Urlencode(PCUSTOMER_REQUIRED_TIME)|| '&';
v_url := v_url || 'p_retainsmpf=' || Smart_Urlencode(PSMPF_RETENTION)|| '&';
--v_url := v_url || 'p_emergency_winback=' || Smart_Urlencode(PEMERGENCY_WINBACK)|| '&';
v_url := v_url || 'p_projectno=' || Smart_Urlencode(PCSS_PROJECT_ID)|| '&';
v_url := v_url || 'p_ordernotes=' || Smart_Urlencode(PCSS_ORDER_NOTES)|| '&';
v_url := v_url || 'p_reason_cessation=' || Smart_Urlencode(PREASON_FOR_CESSATION);
ELSIF PSCENARIO_TYPE='CANCEL_OWN' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_cancelown
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelown_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelown_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_cancel_reason=' ||Smart_Urlencode(PCANCELLATION_REASON)|| '&';
v_url:= v_url || 'p_cancel_notes=' ||Smart_Urlencode(PCANCELLATION_NOTES);
ELSIF PSCENARIO_TYPE='CANCEL_OTHER' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_cancelother
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelother_details'; --After testing the same, URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_cancelother_details'; --After testing the same, URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_stop_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_cancel_reason=' ||Smart_Urlencode(PCANCELLATION_REASON);
ELSIF Pscenario_type='AMEND_CRD' THEN
--Fetch the URL for cancel own from standing data.
BEGIN
SELECT VALUE
INTO v_url
FROM SMT_ORACLE_PARAMETERS
WHERE parameter_code = c_url_amendcrd
AND host_id = ( SELECT host_id
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS b
WHERE A.hostname = b.hostname
AND A.database_id = b.database_id));
--handle unforseen exception
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_amendcrd_details'; -- After testing the same , URL will be fetched from the Query
WHEN OTHERS THEN
v_url := 'Http://wls.brassi1c.devenv1.bt.co.uk:64738/pls/spgenv/spg_btrc.add_btrc_amendcrd_details'; -- After testing the same , URL will be fetched from the Query
END;
--construct the URL
v_url := v_url || '?';
v_url := v_url || 'p_data_entered=' ||Smart_Urlencode('xmloverhttp')|| '&';
v_url := v_url || 'p_channel_type=' ||Smart_Urlencode(PCHANNEL_TYPE)|| '&';
v_url := v_url || 'p_css_start_order_no=' ||Smart_Urlencode(PCSS_ORDER_NUMBER)|| '&';
v_url := v_url || 'p_tel_no=' ||Smart_Urlencode(PTELEPHONE_NUMBER)|| '&';
v_url := v_url || 'p_crd=' ||Smart_Urlencode(PCUSTOMER_REQUIRED_DATE)|| '&';
v_url := v_url || 'p_css_change_order_numbers='||Smart_Urlencode(PCANCELLATION_REASON);
END IF;
--this is start of setting parameters for utl http object. the show begins...
utl_http.set_transfer_timeout(v_timeout);
--Set the wallet
--XXXXX e.g.UTL_HTTP.SET_WALLET(?file:DirectoryPath?,'put password here?);
--Set proxy
--YYYYY e.g. utl_http.set_proxy(p_proxy_in, p_no_proxy_domains_in);
v_url := REPLACE(v_url,'%27%27','%27'); -- Fix to ensure Double Quotes are converted to Single Quotes
--set the required URL to utl http.
v_req := utl_http.begin_request(v_url);
--Authentication setting
--Fetch the user id and password from stnding data.
BEGIN
SELECT *
INTO v_userid_pwd
FROM SMT_ORACLE_PARAMETERS
WHERE PARAMETER_CODE=c_spg_useridpwd
AND HOST_ID = ( SELECT HOST_ID
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS B
WHERE A.HOSTNAME = B.HOSTNAME
AND A.DATABASE_ID = B.DATABASE_ID));
EXCEPTION
WHEN NO_DATA_FOUND THEN
P_RESPONSE := 'ORACLE_ERROR: USER id AND Password NOT configured IN SMT_ORACLE_PARAMETERS:SPGIDPWD';
WHEN OTHERS THEN
P_RESPONSE := 'ORACLE_ERROR: USER id AND Password NOT configured IN SMT_ORACLE_PARAMETERS:SPGIDPWD';
END;
--utl_http.set_authentication(v_req, p_username_in, p_password_in);
utl_http.set_authentication(v_req, v_userid_pwd.description, v_userid_pwd.VALUE);
v_resp := utl_http.get_response(v_req);
--Fill in the the response time
PRESPONSE_TIME := (DBMS_UTILITY.GET_TIME - v_start_time)/100;
IF v_resp.reason_phrase = 'OK' THEN
-- Fetch the response
BEGIN
LOOP
utl_http.read_line(v_resp, v_buffer);
P_RESPONSE := P_RESPONSE || v_buffer;
END LOOP;
utl_http.end_response(v_resp);
EXCEPTION
WHEN utl_http.end_of_body THEN
utl_http.end_response(v_resp);
P_RESPONSE := P_RESPONSE || v_buffer;
END;
ELSIF v_resp.reason_phrase <> 'OK' OR P_RESPONSE = '' THEN
--error handling starts
--If the HTTP Status is not OK then store the error information
PORACLE_ERROR_MESSAGE := 'Status Code: '|| v_resp.STATUS_CODE||'. Reason Phrase ' ||v_resp.reason_phrase;
P_RESPONSE := 'ORACLE_ERROR: '|| ' Reason Phrase ' || v_resp.reason_phrase;
PORACLE_ERROR := v_resp.STATUS_CODE;
END IF;
--In case we got successful response from SPG
IF P_RESPONSE LIKE '%<RetCde>0</RetCde>%' THEN
PDATA_TRANSFER_STATUS := 'Y';
ELSE
BEGIN
SELECT message
INTO vl_std_returnCode
FROM SMT_MESSAGES
WHERE MESSAGE_CODE='SPGANTIDTS';
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '-12545,-29273,-1,401,';
WHEN OTHERS THEN
vl_std_returnCode := '-12545,-29273,-1,401,';
END;
--In case there was an error do not update Data Transfer Status
IF PORACLE_ERROR <> NULL AND INSTR(vl_std_returnCode, PORACLE_ERROR || ',', 1, 1) <> 0 THEN
PDATA_TRANSFER_STATUS:=PDATA_TRANSFER_STATUS;
ELSE
vl_RetCode := SUBSTR(P_RESPONSE, INSTR(P_RESPONSE,'<RetCde>', 1, 1),
INSTR(P_RESPONSE,'</RetCde>',1,1)+9 - INSTR(P_RESPONSE,'<RetCde>', 1, 1));
BEGIN
SELECT VALUE
INTO vl_std_returnCode
FROM SMT_ORACLE_PARAMETERS
WHERE PARAMETER_CODE='SPGRCS'
AND HOST_ID = ( SELECT HOST_ID
FROM SMART_HOSTS A
WHERE EXISTS ( SELECT 1
FROM DB_PARAMETERS B
WHERE A.HOSTNAME = B.HOSTNAME
AND A.DATABASE_ID = B.DATABASE_ID));
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '<RetCde>4244</RetCde><RetCde>4245</RetCde><RetCde>4246</RetCde>';
WHEN OTHERS THEN
vl_std_returnCode := '<RetCde>4244</RetCde><RetCde>4245</RetCde><RetCde>4246</RetCde>';
END;
IF INSTR(vl_std_returnCode, vl_RetCode, 1, 1) <> 0 THEN
--needs not to re attempted.
PDATA_TRANSFER_STATUS:='X';
ELSE
--In case we did'nt got SUCCESSFUL response FROM SPG THEN UPDATE the Data Transfer Status so that the failed requests can be picked up BY the NEXT batch job RUN
IF PDATA_TRANSFER_STATUS='N' THEN
--initially if data transfer status was N then update it now to F
PDATA_TRANSFER_STATUS := 'F';
ELSIF PDATA_TRANSFER_STATUS='F' THEN
--initially if data transfer status was N then update it now to S
PDATA_TRANSFER_STATUS := 'S';
END IF;
END IF;
END IF;
END IF;
--Now Update all the modified Values
UPDATE SPG_INTERFACE_TABLE
SET response = P_RESPONSE,
data_transfer_status = PDATA_TRANSFER_STATUS,
oracle_error = PORACLE_ERROR,
oracle_error_message = PORACLE_ERROR_MESSAGE,
response_time = PRESPONSE_TIME
WHERE transaction_id = PTRANSACTION_ID;
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
--Handling the unhandled exception
PORACLE_ERROR := SQLCODE;
PORACLE_ERROR_MESSAGE := SQLERRM;
P_RESPONSE := 'ORACLE_ERROR: '|| PORACLE_ERROR_MESSAGE;
PRESPONSE_TIME := (DBMS_UTILITY.GET_TIME - v_start_time)/100;
SELECT data_transfer_status INTO PDATA_TRANSFER_STATUS
FROM SPG_INTERFACE_TABLE
WHERE transaction_id=PTRANSACTION_ID;
--New functionality to update the oracle error and oracle error message and not the Data Transfer Status
BEGIN
SELECT message
INTO vl_std_returnCode
FROM SMT_MESSAGES
WHERE MESSAGE_CODE='SPGANTIDTS';
EXCEPTION
WHEN NO_DATA_FOUND THEN
vl_std_returnCode := '-12545,-29273,-1,';
WHEN OTHERS THEN
vl_std_returnCode := '-12545,-29273,-1,';
END;
vl_RetCode := PORACLE_ERROR || ',';
IF INSTR(vl_std_returnCode, vl_RetCode, 1, 1) <> 0 THEN
--If the error is found in above maintained standing data do not change the Data Transfer Status
pdata_transfer_status:=pdata_transfer_status;
ELSE
IF pdata_transfer_status='N' THEN
PDATA_TRANSFER_STATUS := 'F';
DBMS_OUTPUT.PUT_LINE('DUE TO ERROR DATA COULDN''T GET TRANSFERED TO SPG FOR TRANSACTION'||' '||PTRANSACTION_ID);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ELSIF pdata_transfer_status='F' THEN
PDATA_TRANSFER_STATUS := 'S';
DBMS_OUTPUT.PUT_LINE('DUE TO ERROR DATA COULDN''T GET TRANSFERED TO SPG FOR TRANSACTION'||' '||PTRANSACTION_ID);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ELSE
DBMS_OUTPUT.PUT_LINE('Failure WHEN sending data TO Error LOG. Data Transfer Status IS ' || PDATA_TRANSFER_STATUS || '. TRANSACTION ID '|| PTRANSACTION_ID);
END IF;
END IF;
--Now update all the information gathered above to the table
UPDATE SPG_INTERFACE_TABLE
SET response = P_RESPONSE,
data_transfer_status = PDATA_TRANSFER_STATUS,
oracle_error = PORACLE_ERROR,
oracle_error_message = PORACLE_ERROR_MESSAGE,
response_time = PRESPONSE_TIME
WHERE transaction_id = PTRANSACTION_ID;
COMMIT;
END;
/I have fixed the problem by own.
Seems there are some while space in the endpoint url.
Fix
http_req:= utl_http.begin_request
trim(l_endpoint_url)
,'POST'
,'HTTP/1.1'
It works...
Regards
BS -
UTL_MAIL --- ORA-30678: too many open connections
Hello,
I have a pl/sql package that sends out emails using UTL_MAIL pkg pointing to an Exchange server, an APEX app calls this pkg.. This package used to work fine for months but I recently noticed that some emails are not being sent as expected. The package loops through a set of action items satisfying some conditions and send emails based on that ( this number is expected to grow every day ). I checked the errors log and I found this error:
ORA-30678: too many open connections
I think this means that I have to close the connection everytime I send en email, but UTL_MAIL does NOT have a function or a proc to close connections, right ?
I don't know what causes this error to happen, but I suspect that this started happening right after we re-pointed the UTL_MAIL pkg from a Lotus Notes server to an Exchange server.
I am also seeing this error:
ORA-29279: SMTP permanent error: 501 5.1.3 Invalid address
I know where this error comes from (usually a null email id in the FROM or TO field ), but can this be causing the first error to happen ?
Please advise if you got this error before, is it a bug in oracle 10g as I read in some blog ? or is the second error happening make the Exchange server refuse SMTP connections ???
Thanks,
SamHi Sam,
seems to be a bug in UTL_MAIL if you ask me, as you are right - there is only /send/, no option to close, so I'd expect this to be done automatically.
Anyway, though UTL_MAIL is usable for basic mailing, I prefer using a custom mail implementation based on UTL_SMTP. The most important reason is that most mail servers don't work without authentication. And if you have done this once, you can reuse the function/procedure/package as simple as UTL_MAIL. The good news is, that there are several examples published that provide you with the functionality you have in UTL_MAIL at once - with the difference, that you definetly get your connection closed when you expect it to be closed.
You'll also be able to handle empty addresses. Perhaps this error actually causes UTL_MAIL to "forget" to close the connection, if this exception isn't caught before in order to close an open connection before raising it to the outside.
One example implementation for using UTL_SMTP can be found [url http://www.morganslibrary.com/reference/pkgs/utl_smtp.html]here
-Udo -
ORA-29270: too many open HTTP requests
Hi,
We have a requirement like, we will get bulk data (2 GB) data file with different languages(Russian, chinese, Japanese, German) etc. and we need to load these data into our databse also we have to translate the same.
We are using Oracle 11g.
We had used Oracle httpuritype - And the below mentioned procedure PROCEDURE TEST.PRC_TRANS_GERMAN will call the function - trans_jef
Input parameter for PRC_TRANS_GERMAN - > To_language and from Language. and this procedure will store the translated word in the seperate table.
Input parameter for the function trans_jef - > Word to be translated , from languae, to_language. And this function will return the translated word.
The issue I am facing is when I am passing the table of around 10000 records, around 4000 rows are not getting translated. So when i try to capture the error in exception- the error is
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1819
ORA-29270: too many open HTTP requests
When I try to re execute the missed words, they were translated. But they are not getting translated in one go because of the too many http open request.
So could you please let me know how to resolve this ORA-29270 errror. I know we have to end the request and start again. But not sure how to do. Can some one help with this~!!!!
Translator
CREATE OR REPLACE FUNCTION trans_jef (v_RawText IN VARCHAR2,
v_SrcLang IN VARCHAR2,
v_DestLang IN VARCHAR2)
RETURN CLOB
IS
v_EscRawText VARCHAR2 (3000);
v_XlateUrl VARCHAR (3000);
--v_SrcLang Varchar(10) ;-- := 'de';
--v_DestLang Varchar(10) ; -- := 'en';
v_XlateResult CLOB;
l_result CLOB;
BEGIN
DBMS_OUTPUT.ENABLE (10000000);
v_EscRawText := UTL_URL.escape (v_RawText, TRUE, 'UTF-8');
v_XlateUrl :=
'http://translate.google.com/translate_a/t?client=t&text='
|| v_EscRawText
|| '&hl='
|| v_DestLang
|| '&sl='
|| v_SrcLang
|| '&tl='
|| v_DestLang
|| '&ie=UTF-8&oe=UTF-8&multires=1&oc=1&prev=btn&ssel=0&tsel=0&sc=1';
v_XlateResult := httpuritype (v_XlateUrl).getclob ();
-- dbms_output.put_line (v_XlateResult);
l_result := TRIM (BOTH '"' FROM REGEXP_SUBSTR (v_XlateResult, '"[^"]+"'));
RETURN l_result;
END;
/* Formatted on 07-09-2012 09:21:05 (QP5 v5.215.12089.38647) */
CREATE OR REPLACE PROCEDURE TEST.PRC_TRANS_GERMAN (TO_LANG1 IN VARCHAR2,
FROM_LANG1 IN VARCHAR2)
IS
P_CHINESE VARCHAR2 (3000);
FROM_LANG VARCHAR2 (3000);
FROM_LANG_CODE VARCHAR2 (3000);
TO_LANG_CODE VARCHAR2 (3000);
FROM_LANG_CODE1 VARCHAR2 (3000);
TO_LANG_CODE1 VARCHAR2 (3000);
cnt NUMBER := 1;
counter NUMBER;
CURSOR C1
IS
SELECT RAW_VAL_TXT FROM T_TRANS_VAL;
VC1 C1%ROWTYPE;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO VC1;
EXIT WHEN C1%NOTFOUND;
BEGIN
TO_LANG_CODE :=
CASE TO_LANG1
WHEN 'English' THEN 'en'
WHEN 'Chinese Simplified' THEN 'zh-CN'
WHEN 'Chinese Tradational' THEN 'zh-TW'
WHEN 'German' THEN 'de'
WHEN 'Japanese' THEN 'ja'
--other languages
END;
FROM_LANG_CODE :=
CASE FROM_LANG1
WHEN 'English' THEN 'en'
WHEN 'Chinese Simplified' THEN 'zh-CN'
WHEN 'Chinese Tradational' THEN 'zh-TW'
WHEN 'German' THEN 'de'
WHEN 'Japanese' THEN 'ja'
other languages
-- else 'auto'
END;
SELECT trans_jef (VC1.RAW_VAL_TXT, FROM_LANG_CODE, TO_LANG_CODE)
INTO P_CHINESE
FROM DUAL;
-- same translator function is used. Language used is simplied chinese.
-- We can use traditional Chinese as well ('zh-TW'), which works perfectly.
FROM_LANG_CODE1 := --decode(from_lang,'en','English','ar','Arabic', from_lang);
CASE FROM_LANG_CODE
WHEN 'en' THEN 'English'
WHEN 'zh-CN' THEN 'Chinese Simplified'
WHEN 'zh-TW' THEN 'Chinese Tradational'
WHEN 'de' THEN 'German'
WHEN 'ja' THEN 'Japanese'
--other languages
END;
TO_LANG_CODE1 := --decode(from_lang,'en','English','ar','Arabic', from_lang);
CASE TO_LANG_CODE
WHEN 'en' THEN 'English'
WHEN 'zh-CN' THEN 'Chinese Simplified'
WHEN 'zh-TW' THEN 'Chinese Tradational'
WHEN 'de' THEN 'German'
WHEN 'ja' THEN 'Japanese'
-- other languages
END;
INSERT INTO t_trans
VALUES (FROM_LANG_CODE1,
VC1.RAW_VAL_TXT,
TO_LANG_CODE1,
P_CHINESE);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
INSERT INTO excep_trans (P_WORD_EXP, UPDATE_TIME, COUNTER)
VALUES (VC1.RAW_VAL_TXT, SYSDATE, cnt);
INSERT INTO error_message
VALUES (DBMS_UTILITY.FORMAT_ERROR_STACK);
COMMIT;
END;
END LOOP;
CLOSE C1;
END;
/Edited by: 950814 on 6 Sep, 2012 11:16 PMSimply add the call to your exception hander. E.g.
EXCEPTION
WHEN OTHERS
THEN
UTL_TCP.Close_All_Connections;
INSERT INTO excep_trans (P_WORD_EXP, UPDATE_TIME, COUNTER)
VALUES (VC1.RAW_VAL_TXT, SYSDATE, cnt);
..etc..
END;Also consider using proper coding standards. There is NO modern day programming language standard that says to write (selective) reserved words in uppercase. Write in lowercase. Use camelcase and pascalcase for variable names and procedures/functions/methods. Restrict the use of uppercase to defining identifiers such as compiler macros or constants.
Do yourself a favour and read, understand and apply the basic naming standards as detailed in .Net Guidelines for Names and Code Conventions for the Java Programming Language. -
Consistenly "too many arguments" when OCR any scanned PDF file in Adobe Acrobat 9.2
Hi,
plz see attached file for a 2 page sample. I have purchased AA9 to get better OCR (clearscan). Before, we were using AA6, which sometimes crashed, but not consistently.
However, AA9 (9.2.0) now always crashes with the same error "too many arguments" after finishing of the OCR. All pages turn completely white. Saving them causes the contents to be gone permanently and even happened with batch OCR.
OCRing on http://www.cvisiontech.com/online-conversion/general/main.html works fine, but that product we have not yet purchased.
Does anyone have an idea what might cause this and how to resolve it?
The PDF-s have been generated by HP Digital Sender and Canon scanner/printer MF9170. Both types of scans give the same result.
Regards,
GuidoThere is no virus protection or spy protection on this PC. It runs the following:
Windows Server 2003 x64 SP2
The file gives the error both on my local disk and on my (Samba) network disk.
As far as tested all scans give the same error at the end of the scanning process. Might it be related to x64 handling from a x32 program? -
HTTP-400 Too many arguments passed error
I am getting the following error when using a multiselect list item to select/update data in the tabular form.
Bad Request
Your browser sent a request that this server could not understand.
mod_plsql: /pls/otn/wwv_flow.accept HTTP-400 Too many arguments passed in. Got 2346 parameters. Upper limit is 2000
Oracle-Application-Server-10g/10.1.2.3.0 Oracle-HTTP-Server Server at apex.oracle.com Port 80
I have built this prototype application on the Oracle’s hosted apex.oracle.com site.
The application page has three sections. Section 1 is an HTML region with the multiselect list. Section 2 is an HTML region with 20 text items. Section 3 has the tabular form with 25 columns that are used to update the data. The tabular form pagination values “Number of Row” and “Maximum Row Count” are set to 500.
Up until now, the multiselect list in the Section 1 was just a simple select list and I never had any issues. I guess the number of arguments passed was low. Per our customer requirement, I had to change the simple select list to a multiselect list. Now, If I select multiple values in the select list, I get the above mentioned error. But, it does not seem to happen all the time. For example, the first time I select 3 values in the multiselect list, the page renders fine, and I am able to enter/save data in the tabular form. Then, I select two other values in the multiselect list, I would get the error.
I am getting this error on the Oracle’s hosted apex.oracle.com site where my prototype application exists. And, according to the error oracle is using 10g/10.1.2.3.0. Is there any way to circumvent this issue so I can demo my application to the customer using the multiselect list?
I found several threads on this forum regarding the same error and it seems that there was a bug in the older versions of Oracle Application server. Also, there were discussions about setting the PlsqlMaxParameters.
Our dev/test/prod environment would be set up using the Oracle Application Server-10g/10.1.3. The question is would we need to add a line to set the PlsqlMaxParameters value in the plsql.conf file? In addition, what is the maximum value that it can be set to?
Please forgive me for the longwinded description and the question - only way I could describe the situation.
Thanks,
DPVarad and Sc0tt,
Thank you both for your responses.
Varad – Yes, I can/will reduce the amount of data so it does not cause the tabular form to go over the 2000 field limit. If that is not possible, I will at least make the users aware of this issue. Since the same data is used for the other pages in the application, the users might want to keep all the data.
Sc0tt – thanks for providing the information for your environment and settings. To plan for the future, we will have to set the value to something high also, around 8-10K range, and adjust later if we have to.
Thank you both, I will mark both of your answers as helpful and the question as being answered.
DP
(Have either of you used the jquery datepicker solution? If yes, can you please take a look at my thread: Thread: Jquery Datepicker calendar problem with page scrolling
Jquery Datepicker calendar problem with page scrolling -
ORA-02042: too many distributed transactions
1. I have been working on a portal application for several weeks.
2. Portal is installed in 1 instance and my data is in another instance.
3. I've had no ora-02042 problems in the devt environment set up that way.
4. I've recently migrated the application/pages to a test environment set up that way.
5. I've been working in the test environment for several days with no problems.
6. For some portlets on some pages I'm now getting:
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
Failed to parse query
Error:ORA-02042: too many distributed transactions
Error:ORA-02042: too many distributed transactions
ORA-02063: preceding line from
LINK_TO_TEST (WWV-11230) Failed to parse as PACID_SCHEMA -
select user_action.userid, action.name,
user_action.created_date,
user_action.created_by, action.action_id,
'del' del_link from user_action , action
where user_action.action_id =
action.action_id and user_action.userid
LIKE UPPER(:userid) order by USERID
ASC, NAME ASC, CREATED_DATE
ASC (WWV-08300)
<HR></BLOCKQUOTE>
7. I cannot find anything about this error in the db log files for either instance.
8. I've increased distributed transactions to 200 in the portal db and bounced
it. Still get the error.
9. No records in dba_2pc_pending or dba_2pc_neighbors in the portal instance.
10. I get the error in various reports and form LOVs at different times. Pages with a lot of portlets seem to be more prone to the error.
Here is a typical LOV error:
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
COMBOBOX LOV ERROR:
LOV: "ASIMM_1022.TITLE_LOV"
Parse Message: Parse as pre-set global: "PACID_SCHEMA".
Find Message: LOV is of type DYNAMIC (LOV based on SQL query).
Query: "select code display_column, code return_column from codes where table_id = 'OFFICER_TITLE' order by code"
wwv_parse.parse_as_user: ORA-02042: too many distributed transactions ORA-02063: preceding line from LINK_TO_TEST wwv_parse.parse_as_user: Failed to parse as PACID_SCHEMA - select code display_column, code return_column from codes where table_id = 'OFFICER_TITLE' order by code wwv_security.check_comp_privilege: Insufficient privileges. wwpre_utl.get_path_id: The preference path does not exist: ORACLE.WEBVIEW.PARAMETERS.217_USER_INPUT_ASIMM_5423428
<HR></BLOCKQUOTE>
Why are these select statements being interpreted as distributed transactions? Note:1032658.6 suggests I "USE SET TRANSACTION READ ONLY". Is this necessary? If so how?
What puzzles me is that this set up has been working fine for several days. I don't know of any changes to my environment apart from me increasing distributed transactions.
nullHi,
this is information from metalink:
The ORA-2042 indicates that you should increase the parameter
distributed_transactions.
The ORA-2063 indicates that this must be done at the remote
database.
Explanation
If the distributed transaction table is full on either side of
the database link you get the error ORA-2042:
ORA-02042: "too many distributed transactions"
Cause: the distributed transaction table is full,
because too many distributed transactions are active.
Action: increase the INIT.ORA "distributed_transactions" or
run fewer transactions.
If you are sure you don't have too many concurrent
distributed transactions, this indicates an internal
error and support should be notified.
Instance shutdown/restart would be a workaround.
When the error is generated at the remote database it is
accompanied with an ORA-2063. In this case the parameter
distributed_transactions must be increased at the remote
database.
If there is no ORA-2063 the parameter distributed_transactions
must be increased at the local database. -
Acme GiFEncoder: java.io.IOException: too many colors for a GIF
I have been using the Acme GifEncoder to save images as gifs. I have been using this quite successfully until today. For some reason it now gives an error when I try to use this in some circumstances. The exception is:
java.io.IOException: too many colors for a GIF
I am not sure why it will work in some situations and not others. If anyone can give any insight on this problem then I would appreciate it.
ThanksThanks for the reference to the quantizer. I will try it out and see if it works.
That is going to lead me on to have a bit of a rant about GifEncoders. I realise that gifs are limited to 256 colours. It is ridiculous that a GifEncoder would not limit the number of colours for you. If you have an image in another format such as jpg that does not have a limit the number of colours, the encoder is not able to convert it into gifs unless it has the number of colours reduced. As far as can tell this should be an essential function of the encoder, unless anyone can tell me differently.
Also if anyone can advise me on the Acme JpegEncoder I would appreciate it. It does not seem to work in any shape or form. I am not trying to do anything in particular with it now, so I have no code to show. I did try to use it before and it did not seem to work, so if anyone knows how to get it to work that would be great.
Once again, thanks for your help. -
Insert ORA-00913: too many values -- urgent help
Hi there
Its pretty urgent, got stuck up....
To avoid the undo snapshot error, I am using this procedure to migrate the smaller chunks of huge volume of table data into new tables. This below code works well if the columns are very less. And this procedure is not working if the tables columns are morethan 30 columns and throwing the error PL/SQL: ORA-00913: too many values
CREATE OR REPLACE PROCEDURE migration AS
TYPE array_tp IS TABLE OF tranproc%ROWTYPE;
l_array array_tp;
CURSOR c IS
select * from tranproc p where trunc(date)<=trunc(sysdate)-180;
l_cnt1 NUMBER :=0;
l_cnt2 NUMBER :=0;
l_cnt3 NUMBER :=0;
BEGIN
OPEN c;
LOOP
FETCH c BULK COLLECT INTO l_array LIMIT 10000;
EXIT WHEN l_array.COUNT = 0;
l_cnt1 := c%ROWCOUNT;
FORALL i IN 1 .. l_array.COUNT
INSERT INTO TMP_Transpoc VALUES l_array(i);
l_cnt2 := l_cnt2 + SQL%rowcount;
END LOOP;
l_cnt3 := c%ROWCOUNT;
CLOSE c;
END;
16 22 PL/SQL: ORA-00913: too many values
its falling
line 16: INSERT INTO TMP_Transpoc VALUES l_array(i);
Above table i.e tranproc has around 80 columns .
i am not pl/sql expert, kindly advise how to resolve it.. i am fine with alternative approach, just i need a smaller chunk commit.Actually, Direct Path does not necessarily require NOLOGGING. If you successfully invoke Direct Path (look for LOAD AS SELECT or DIRECT LOAD INTO in the execution plan) then you are inserting into blocks above the high-water mark (HWM) and there is virtually no UNDO generated for the changes in the table segment.
However, the index maintenance (if any) will require UNDO, and it may be a lot. If this is going into a new table, then you should be able to create the index after the table is populated.
Also beware of the NOLOGGING advice. In many cases, an individual SQL statement can not disable logging. And yet, if you do bypass REDO logging, be very sure you understand the consequences for your ability to recover. -
ORA-00913: too many values - how to change decimal separator?
I want to use SQL Developer's database export and need advice how to tweak the decimal separator from , to . in the sql-inserts created.
Preferrably in SQL Developer, because this error can be easily happen and is hard to catch during import.+
See below how to reproduce this:
h3. 1.) ddl (ugly)
set SERVEROUTPUT on
CREATE TABLE AADECIMEXPORT
"DECIMALNUMBER" NUMBER
, "HUBBABUBBA" varchar2(20 byte)
CREATE TABLE succeeded.
h3. 2.) inserts by hand
insert into AADECIMEXPORT(DECIMALNUMBER,HUBBABUBBA) values(10,'smells integer');
insert into AADECIMEXPORT(DECIMALNUMBER,HUBBABUBBA) values(3.141592654,'smells rounded pi');
1 rows inserted
1 rows inserted
¨
h3. 3.) select * from AADECIMEXPORT
DECIMALNUMBER HUBBABUBBA
10 SMELLS INTEGER
3,141592654 smells rounded pi
h3. 4.) then use sqldevelopers Tools-"database export" to export this table
-- File created - tiistai-marraskuu-23-2010
-- DDL for Table AADECIMEXPORT
CREATE TABLE "AADECIMEXPORT"
( "DECIMALNUMBER" NUMBER,
"HUBBABUBBA" VARCHAR2(20)
-- DATA FOR TABLE AADECIMEXPORT
-- FILTER = none used
REM INSERTING into AADECIMEXPORT
Insert into AADECIMEXPORT (DECIMALNUMBER,HUBBABUBBA) values (10,'smells integer');
Insert into AADECIMEXPORT (DECIMALNUMBER,HUBBABUBBA) values (3,141592654,'smells rounded pi');
-- END DATA FOR TABLE AADECIMEXPORT
h3. 5.) Test the insert
Insert into AADECIMEXPORT (DECIMALNUMBER,HUBBABUBBA) values (3,141592654,'smells rounded pi');
Error starting at line 49 in command:
Insert into AADECIMEXPORT (DECIMALNUMBER,HUBBABUBBA) values (3,141592654,'smells rounded pi')
Error at Command Line:49 Column:12
Error report:
SQL Error: ORA-00913: too many values
00913. 00000 - "too many values"
*CAUSE:
*Action:About
Oracle SQL Developer 2.1.1.64
Version 2.1.1.64
Build MAIN-64.45
Copyright © 2005,2009 Oracle. All Rights Reserved.
IDE Version: 11.1.1.2.36.55.30
Product ID: oracle.sqldeveloper
Product Version: 11.1.1.64.45
Version
Component Version
========= =======
Java(TM) Platform 1.6.0_14
Oracle IDE 2.1.1.64.45
Versioning Support 2.1.1.64.45
Maybe you are looking for
-
Installation Problem Developer 6i/Oracle 8/Windows NT4 Please help.
Hi, I am trying to install Oracle Developer 6i and Oracle 8 under Windows NT platform. I had several kind of problem. Atlast I found the installation tips very help and followed it step by step. Still I am facing the problem. Let me explain what i di
-
How can I insert an image into a PDF?
I am using Acrobat 9. I created a document in InDesign and now I want to add an image to the PDF without going back to InDesign. How do I accomplish this without using the Stamp tool. The reason why I do not want to use the stamp tool is because when
-
Form not working in mobile devices
Hi, i have created one form using adobe pro & it's work well in my pc. my form should work in the Adobe Reader app on iPads and Android tablets also. Unfortunately, it's crashes the app on both devices.my form has text fields & combo boxes. here i ha
-
Help in developing 2 Formula Variables in BI 7.0
Hi all, I need help in framing a Formula Variable. I have the following columns (Key Figures) in my report ..... "Breakdown Time of Machine" (1hr, 2hr, 3hr, 4hr, 5hr) "Machine count with Breakdown" From these 2 KeyFigures, how do I develope a Formula
-
9.0.4 to 10.1.2 upgrade text fields moved
We upgraded from 9.0.4 to 10.1.2 forms. In one application some of the text fields moved up a small amount - 1/10 of an inch or so. This does not present a problem on some forms, but on others text fields begin to overlap with with text. I thought ma