"ORA-01403: no data found" after deleting a row
hi all.
i created a report with a form using a wizard. so i think it's very strange when i delete a row it gives me the error
ORA-01403: no data found
but i did everything with the wizard assistant! is that a bug???
thanks for help!
j0sh
i just tried it again, very clean:
created new workspace, new application, new report with form. again the same. now i even can't access this page anymore after relogging in!!
@ sergio:
the report and the form page is the same one. i'm using my own installation. i installed version 10g that i downloaded from oracle.com .
where do i get the release number from? is it maybe 1.5.0.00.33 ?
thanks.
josh
Similar Messages
-
AFTER INSERT TIGGER, ora-01403: no data found error
Hi all,
I'm trying to create a fairly simple trigger which fires after an insert on a table.
The trigger is based on a function, defined within a package. The function is as follows...
FUNCTION check_contract_length (V_playerId IN NUMBER)
RETURN BOOLEAN
IS
months NUMBER;
months2 NUMBER;
BEGIN
SELECT months_between(contract_end, contract_start), contract_length
INTO months, months2
FROM player
WHERE playerId = v_playerId;
IF months <> months2 THEN
RETURN (true);
END IF;
RETURN (false);
END check_contract_length;The trigger operates when an insert is made on to the player table, it as defined as follows...
CREATE OR REPLACE TRIGGER play_ins_con
AFTER INSERT ON player
FOR EACH ROW
DECLARE
isover BOOLEAN;
BEGIN
IF INSERTING THEN
isover := player_constr_pkg.check_contract_length(:new.playerId);
IF isover THEN
RAISE_APPLICATION_ERROR(-30001, 'Contract length incorrect');
END IF;
END IF;
END play_ins_con;My problem is, is that every time I try to insert a row into the player table, the trigger fires and produces a "ora-01403: no data found" error. I was under the impression that as the trigger fires after an insert, this shouldn't be a problem.
I'm also aware that this constraint can probably be implemented using a CHECK constraint, however it would be a learning curve for me to work it out this way.
Any help would be much appreciated!!
Cheers guys.I'm also aware that this constraint can probably be implemented using a CHECK constraint,
however it would be a learning curve for me to work it out this way.Starting out by doing stuff the wrong way only increases the learning curve when it comes to doing things the right way. A check constraint is definitely the best way of doing it. However, if you must do it with a trigger this is the way to go:
CREATE OR REPLACE TRIGGER play_ins_con BEFORE INSERT ON player
FOR EACH ROW
BEGIN
IF months_between(:NEW.contract_end, :NEW.contract_start) <> :NEW.contract_length
THEN
RAISE_APPLICATION_ERROR(-30001, 'Contract length incorrect');
END IF;
END play_ins_con;
/Incidentally, as CONTRACT_LENGTH is wholly derivable from the other columns your table structure is obviously insufficiently normalised.
Also, note that only errors between -20999 and -20000 are reserved for our use. Any other number may be used by Oracle for its own purposes.
Cheers, APC -
ORA-01403: no data found - refresh after insert on view
Hi all,
I have problems with refresh after insert on view and i override this method on my xxDefImpl.java
public boolean isUseReturningClause() {
return false;
Anyway what it does is to substitute the RETURNIN INTO to
SELECT ID INTO ? FROM MY_VIEW WHERE ID=?; END;".
And this gives me the error
ORA-01403: no data found ORA-06512: at line 1
Because i'm tryint to insert on my view with ID = -1
And then the view and the my triggers make it happen to became a real ID.
The thing is that i need to refresh my ID after insert and it runs this select with -1 and it finds no data of course because the trigger on the view and on my tables transformed it in a real ID .
DO u know what's missing?See section 26.5 Basing an Entity Object on a Join View or Remote DBLink in the ADF Developer's Guide for Forms/4GL Developers for the additional tip I believe you're missing about marking a unique attribute as well.
You can find the guide on the ADF Learning Center on OTN here:
http://www.oracle.com/technology/products/adf/learnadf.html -
OCI Error ORA-01403: no data found in oracle goldengate replication after tts instaniation
I recently migrated our tg core system from sun solaris(11.1.0.7) to linux (11.2.0.3) environment using goldengate method (transportable tablespace method used for instantiation).
The initial replication worked with HANDLECOLLISIONS and after I monitor the lag finished, I took Handlecollisions off and noticed discarded report with OCI Error ORA-01403: no data found in two replications.
I followed every step in the tts migration steps provided by oracle best practice.
Can anybody provide any clue how do I fix this issue?
Thank you in advance.extract and replicat are on schema level.
DO I have to do anything for replication on schema level?
Basic trandata logging enabled on source. -
ORA-01403 NO DATA FOUND ERROR AFTER SELECTING PORTAL LINK TO CALL FORM
I have a portal application link that I use to call a form. The field on this
form gets populated based on a bind variable that is passed in by the link.
This was working 2 weeks ago but now when I click on the link to call the form
I am receiving the following error "AN UNEXPECTED ERROR OCCURRED ORA-01403 - NO
DATA FOUND". This happens in more than one application where I set this type
of link to call a form. Anyone have any ideas?!!Hi Andy,
Thank you very much for your time!
The fields in the form are all right. The fields get filled in perfectly in most of the cases, only those few rows don't :(
However, now that you wrote of the process of row fetching, I think that maybe I have an idea of what is happening. My table has two primary keys (two fields together make the primary key, I don't know how it's called in English), one of them is a date. (I know that this is quite a bad practice, but, much to my regret, I cannot change it.) Now, this date is in YY-MON-DD format, which is used by my language.
One of this dates is from 1800's. As my report shows it, the year gets truncated to the last two character. APEX passes this value into the field of the form using varchar2, and when it tries to cast it back to YY-MON-DD format, then it supposes it's from 1900's instead of 1800's. With 19xx however it doesn't find my field.
Does this sound logical? It seems logical to me, but I am a beginner... :(
Still, if this is the core of the problem, it's most possibly not the only problem, because I have dates from 19xx which can't identify their rows... But I am suspicious because of these date things. If you have any idea then please let me know.
Thanks,
Eszter -
Misterious "ORA-01403: no data found" error
Hi,
I've been searching through the forum and the Internet with no results, so I'm posting here hoping you can help me.
Here is the situation: I had a page 30 with a tree branching to a form on a view.This worked fine until one day that suddenly, we got the "ORA-01403: no data found" error when loading the page. I guess that's normal, since the form shows the data filtered in the tree (in the tree we click on an element and pass its ROWID to the form), and when we load the page no ROWID is selected. So, the first question would be, how can I manage this situation? My first option was to have a condition in the Automatic Fetch for the Form, so that it's executed only when the ROWID item is not null. It worked a couple of times. After a while, it crashed again.
Tired of trying things, we decided to copy this page 30 to another page (page #80). Surprisingly, page #80 worked meanwhile #30 crashed. And they are completely the same, the data has not changed either.
Could it be that page #30 somehow is corrupted? It's really strange that the same exact copy of the page works with one ID but not with another one.
Has someone experienced this situation? it makes me feel like the app is unsecure and unstable. Any ideas, please?
Apex version: 4.1.1 on APEX listener.
Thanks,
Elena.fac586 wrote:
Elena.mtc wrote:
Thanks for your response. The form is a single row (a form on a table or view). Here is what I've found out thanks to your tips:
It affects to all the three users that I have access with.Try it with a new user that has never accessed the page before.
I used the debug mode (new to me, so I'm kind of slow on this, still) and wrote an exception message on the Automatic Fetch Row and I managed to know the ROWID that the fetch process is using in the where clause. Of course this ROWID does not exist in the table, so the first question that comes to my mind is "how come and from where is the page getting this ROWID?". I don't know and can't comment because I can't see the app. ;-)
If the ROWID is stored in an item, check the Maintain session state property isn't set to Per User.I changed this and seemed to work. But it crashed later. I made a computation process to set to null the rowid's when loading the page. After reset, I deleted the computations (due to application functionality) and it worked. However, I do not trust this page anymore. So we created a new fresh app and copied this page. Luckily we are on development environment :)
>
So, I made a computation to initialize to null the item that saves the ROWID, and now it worked.
This page that I'm testing on is #30, but the valid page is #80 (it has changes made on the look and feel of the page). So, I deleted page #30, and copied page #80 (which works perfectly) into #30. And it crashes again (obvius, since it doesn't have the computation that gives null to the rowid item). What's "interesting" is that I still see the exception message I wrote in the older version of page #30. So, it seems that some values need to be purged and that the delete is not clean, but how? I'm not entirely clear on what you've been doing there, but it does indeed all sound rather odd.
I suspect that you wouldn't be able to reproduce this problem on apex.oracle.com. However, it would probably be helpful if you could upload the app and provide developer credentials to the workspace so we could see how it works and if there's anything obvious (or not) that might cause this problem.Unluckily I cannot do this. Thank you anyway for the help, it's hard to explain when something so weird happens.
Thanks!
Elena. -
Update conflict resoltion ORA-01403: no data found
I have set up multimaster replication environment with two database and I have implemented Update conflict resolution on a table using DISCARD method(Oracle provided) as below.
Some how it is not able to resolve the conflict and I am getting erro ORA-01403: no data found.
On MDS(M1) I run the follwing SQL
update menu_code
set ipp_uid = 20
where id = 4;
commit;
on master(M2) database in table menu_code row with ID=4 doesn't exsit.
When I apply deffred transaction that gnerated by above SQL
I get ORA-01403: no data found and ofcourse trnsaction doesn't apply to db and goes to deferror. Since I am using DISCARD method
it should be resolved and not to gnerate error message.
Here is detail info.
Table name: menu_code
--creating column group
BEGIN
DBMS_REPCAT.MAKE_COLUMN_GROUP (
sname => 'SYNAPSE',
oname => 'MENU_CODE',
column_group => 'MENU_CODE_CG1',
list_of_column_names => 'id,ipp_uid');
END;
-- adding update conflict resolution
BEGIN
DBMS_REPCAT.ADD_UPDATE_RESOLUTION (
sname => 'SYNAPSE',
oname => 'MENU_CODE',
column_group => 'MENU_CODE_CG1',
sequence_no => 1,
method => 'DISCARD',
parameter_column_name => 'id,ipp_uid');
END;
--regenerating support for the table.
BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
sname => 'SYNAPSE',
oname => 'MENU_CODE',
type => 'TABLE',
min_communication => TRUE);
END;
Thanks.
PravinYou are absolutely right. Now we decided not to write any conflict resolution routine at all.
Non MDS database is read-only till fail over. After fail over non MDS (other master) will allow insert/update operation.
To fail back to MDS we will write our procedure/function, out side of Oracle conflict resolution( both database will be in Read only mode during synchronizing).
We will delete all deferred transaction/error form the queue and once data transfer is complete, again MDS becomes primary database to use.
Oracle conflict resolutions are to complicated and has lots of overhead and maintenance.
Thanks.
Pravin -
How to resolve "ORA-01403: no data found"
When i attempt to delete from a table on which an after delete trigger is defined, i get exception as follows;
OracleException was unhadled by user code:
ORA-01403: no data found
ORA-06512: at "...TRIGGER_KATILIMEKLE", line11
ORA-04088: error during the execution of trigger '...TRIGGER_KATILIMEKLE'
Here is my trigger:
Note: Before i added block -ELSIF DELETING THEN- it was working fine, yet now it throws that exception somehow. Since i am not new to oracle, i just couldn't figure out. Thanks...
CREATE OR REPLACE TRIGGER TRIGGER_KATILIMEKLE AFTER INSERT OR DELETE ON IHALE_KATILINANIHALEDETAY
REFERENCING NEW AS newRow
FOR EACH ROW
DECLARE
srktkodu number;
ihlkodu number;
BEGIN
IF INSERTING THEN
select t2.srktkodu, t2.ihlkodu into srktkodu,ihlkodu from ihale_katilinanihale t2 where t2.detaykod=:newRow.detaykod;
INSERT INTO ihale_katilimcilar t (t.aktif, t.SRKTKODU,t.ihlkodu,t.ihlaltktgkodu) VALUES('0', srktkodu, ihlkodu, :newRow.IHLALTKTGKODU);
ELSIF DELETING THEN
select t2.srktkodu, t2.ihlkodu into srktkodu,ihlkodu from ihale_katilinanihale t2 where t2.detaykod=:newRow.detaykod;
DELETE FROM ihale_katilimcilar t WHERE t.srktkodu=srktkodu and t.ihlkodu=ihlkodu and t.ihlaltktgkodu=:newRow.IHLALTKTGKODU;
END IF;
END TRIGGER_KATILIMEKLE;
Message was edited by:
user611878REFERENCING NEW AS newRow
ELSIF DELETING THEN
...=:newRow.detaykod;Please read about [url
http://download.oracle.com/docs/cd/B10501_01/appdev.92
0/a96590/adg13trg.htm#590]Accessing Column Values in
Row Triggers in the manual.Thanks a lot.
Using REFERENCING NEW AS newRow and OLD AS oldRow and ...=:oldRow.detaykod; I handled it, however it just doesn't assign other parameters in delete query, thus it deletes only when t.ihlaltktgkodu=:oldRow.IHLALTKTGKODU; in the delete query and ,gnore the rest.
Although i assign the values of the parameters -srktkodu,ihlkodu- and make an successfull insert in the insert query, i just cannot in the delete. Why?
Right here :
select t2.srktkodu, t2.ihlkodu into srktkodu,ihlkodu from ihale_katilinanihale t2 where t2.detaykod=:oldRow.detaykod;
DELETE FROM ihale_katilimcilar t WHERE t.srktkodu=srktkodu and t.ihlkodu=ihlkodu and t.ihlaltktgkodu=:oldRow.IHLALTKTGKODU; -
Dear Legends,
My requirement is to call store procedure from BPEL. So for I created a BPEL with 2 assign activity and 1 Invoke activity to Invoke the DB adapter. After Deploying I tested the process but it shows the following error:
<bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'DB_SBL_SPROCS1' failed due to: Interaction processing error.
Error while processing the execution of the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API interaction.
An error occurred while processing the interaction for invoking the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API. Cause: java.sql.SQLException: ORA-01403: no data found
ORA-06512: at line 1
Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD. This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-1403" to your deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers.
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.
</summary></part><part name="detail"><detail>ORA-01403: no data found
ORA-06512: at line 1
</detail></part><part name="code"><code>1403</code></part></bindingFault></bpelFault></fault><faultType>
<message>0</message></faultType></messages></details></event><event sid="BpPrc0.1" cat="2" n="16" date="2013-08-08T05:39:39.121-04:00" type="4"><message>"BPELFault" has not been caught by a catch block.</message></event><event sid="BpPrc0.1" cat="2" n="17" date="2013-08-08T05:39:39.270-04:00" type="3"><message>The transaction was rolled back. The work performed for bpel instance "960968" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.</message></event></audit-trail>
What does the above error says?
1. Whether concern Grant or Execute Privileges is not properly provided to the user?
2. Is there any Dangling Privileges are prevailing?
3. Is that the Store Procedure to be Handled with an Error Handling by means of Exception?
4. Is that I have been giving wrong test data?
5. Is that No data being existing in the Procedure?
6. Is that anything related to XA and NON-XA Data Source?
Any kind of help would be much appreciated. Thanks in Advance.
Thanks,
KarthikCan you check the following ?
a. Hopefully the when you execute the procedure using sql tool it works fine and returns data.
b. Is there any input parameter available for procedure ?
c. IF yes, is the parameter is mapped with the procedure parameter and populated with value before calling the procedure ?
d. In the audit trial, you can see from the invoke activity to see whether the parameter is populated with value or not ?
e. Check the input parameter by executing the procedure with sql tool to see whether this request is receiving any data in return or not ?
Thanks,
Vijay -
Deferred transaction fails due to a "ORA-01403: no data found" error
I recently acticated replication between two Oracle instances.
(one being the master definition site and the other one being
a second master site).
Everything was going well until two weeks ago, when i realized
that some datas were different between the two Oracle instances.
I tried to figure out why and found that some deferred transation
failed to propagate due to a "ORA-01403: no data found" error.
Not all transaction fail, only a few.
All the errors are stored in the DEFERROR table of the second
master site, the DEFERROR table is empty in the master definition
site.
For every error, the source is the master definition site and the
destination is the second master site, which is OK because the
second master site is supposed to be "read-only". But why are the
errors stored in the DEFERROR table of the second master site
(and not in the master definition site (the source)).
Most errors occur on UPDATE statements but a few of them occur
on DELETE statements. Given the fact that the record actually is
in the second master site, how is it possible to get a
"ORA-01403: no data found" error on a delete statement ???????
I can't figure out what data cannot be found,
Thanks for your help,
Didier.What if i tell you the first transaction in error is an UPDATE
statement on a record that actually is in the destination table
in the second master site. So the data is there, it should be
found ...
I've tried an EXECUTE_ERROR on that very first transaction
in error but it doesn't work. Here's the call (as repadmin) :
begin
DBMS_DEFER_SYS.EXECUTE_ERROR (
DEFERRED_TRAN_ID => '6.42.271',
DESTINATION => 'AMELIPI.SENAT.FR'
end ;
And here's the full message :
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_DEFER_SYS_PART1" line 430
ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1632
ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1678
ORA-06512: at line 2
I thought it could be because the primary key constraint on the
destination table wasn't activated but it was. Could it
be a problem with the corresponding index ?
Thanks for your help,
Didier. -
ORA-01403: no data found in alert.log
Dear All,
I am getting ORA-01403: no data found in alert.log.Could you pls help me out what could be reasons behind it..Due to this i m getting loads of alerts.Pls suggest.
ThanksORA-01403 No Data Found
Typically, an ORA-01403 error occurs when an apply process tries to update an existing row and the OLD_VALUES in the row LCR do not match the current values at the destination database.
Typically, one of the following conditions causes this error:
Supplemental logging is not specified for columns that require supplemental logging at the source database. In this case, LCRs from the source database might not contain values for key columns. You can use a DML handler to modify the LCR so that it contains the necessary supplemental data. See "Using a DML Handler to Correct Error Transactions". Also, specify the necessary supplemental logging at the source database to prevent future errors.
There is a problem with the primary key in the table for which an LCR is applying a change. In this case, make sure the primary key is enabled by querying the DBA_CONSTRAINTS data dictionary view. If no primary key exists for the table, or if the target table has a different primary key than the source table, then specify substitute key columns using the SET_KEY_COLUMNS procedure in the DBMS_APPLY_ADM package. You also might encounter error ORA-23416 if a table being applied does not have a primary key. After you make these changes, you can reexecute the error transaction.
The transaction being applied depends on another transaction which has not yet executed. For example, if a transaction tries to update an employee with an employee_id of 300, but the row for this employee has not yet been inserted into the employees table, then the update fails. In this case, execute the transaction on which the error transaction depends. Then, reexecute the error transaction.
There is a data mismatch between a row LCR and the table for which the LCR is applying a change. Make sure row data in the table at the destination database matches the row data in the LCR. When you are checking for differences in the data, if there are any DATE columns in the shared table, then make sure your query shows the hours, minutes, and seconds. If there is a mismatch, then you can use a DML handler to modify an LCR so that it matches the table. See "Using a DML Handler to Correct Error Transactions".
Alternatively, you can update the current values in the row so that the row LCR can be applied successfully. If changes to the row are captured by a capture process at the destination database, then you probably do not want to replicate this manual change to destination databases. In this case, complete the following steps:
Set a tag in the session that corrects the row. Make sure you set the tag to a value that prevents the manual change from being replicated. For example, the tag can prevent the change from being captured by a capture process.
EXEC DBMS_STREAMS.SET_TAG(tag => HEXTORAW('17'));
In some environments, you might need to set the tag to a different value.
Update the row in the table so that the data matches the old values in the LCR.
Reexecute the error or reexecute all errors. To reexecute an error, run the EXECUTE_ERROR procedure in the DBMS_APPLY_ADM package, and specify the transaction identifier for the transaction that caused the error. For example:
EXEC DBMS_APPLY_ADM.EXECUTE_ERROR(local_transaction_id => '5.4.312');
Or, execute all errors for the apply process by running the EXECUTE_ALL_ERRORS procedure:
EXEC DBMS_APPLY_ADM.EXECUTE_ALL_ERRORS(apply_name => 'APPLY');
If you are going to make other changes in the current session that you want to replicate destination databases, then reset the tag for the session to an appropriate value, as in the following example:
EXEC DBMS_STREAMS.SET_TAG(tag => NULL);
In some environments, you might need to set the tag to a value other than NULL. -
ORA-01403: no data found (WWV-16016) error
I have a very simple form with two fields. This form is opened in the update mode through a report which pass a parameter to the form. When I press 'Delete' button to delet the record, I get this error message:
Error: An unexpected error occurred: ORA-01403: no data found (WWV-16016)
But the record is actually deleted by this action.
Does anyone know why and how to fix it?
Thanks!I have the same problem when i call form based on procedure in insert mode. However, i can insert one record normally, when i try to insert another one, this error appears.
This behavior is really extremly annoying and i would really like to know why this error apprears and how to get rid of it.
Kind regards,
Damjan
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by sz():
I have a very simple form with two fields. This form is opened in the update mode through a report which pass a parameter to the form. When I press 'Delete' button to delet the record, I get this error message:
Error: An unexpected error occurred: ORA-01403: no data found (WWV-16016)
But the record is actually deleted by this action.
Does anyone know why and how to fix it?
Thanks!<HR></BLOCKQUOTE>
null -
ORA-01403: no data found when displaying a value from an array
I have a very simple pl/sql procedure like below which gives an error
SQL> exec p_ks2;
BEGIN p_ks2; END;
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "KINASE.P_KS2", line 21
ORA-06512: at line 1
if i uncomment the for loop the procedure works ... the loop has nothing to do with my array or what i am doing after it..
could anyone help me to understand why i need a loop like that or what i am doing wrong when i am not having the loop there.
---- procedure
CREATE OR REPLACE
PROCEDURE p_ks2 as
TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
data1 mdata;
k integer;
m number;
begin
data1(1) := 10;
data1(2) := 20;
data1(3) := 30;
data1(4) := 40;
data1(5) := 50;
k :=3;
--for mm in 10..11
--loop
-- m := mm;
--end loop;
dbms_output.put_line('value of data(' || k || '): ' || data1(k));
end;
/here is what i am trying.. when i do not have the for loop it fails. when I have the for loop it works eventhough for loop is really not doing anything related to my array.
and in 10.x both works without error.
I noticed you have the for loop uncommented when you posted the screen. Did it work when you have commented those lines out?
SQL> select * from v$version
2 ;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
SQL> CREATE OR REPLACE
2 PROCEDURE p_ks2 as
3
4 TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
5 data1 mdata;
6 k integer;
7 m number;
8
9 begin
10 data1(1) := 10;
11 data1(2) := 20;
12 data1(3) := 30;
13 data1(4) := 40;
14 data1(5) := 50;
15
16 k :=3;
17 --for mm in 10..11
18 --loop
19 -- m := mm;
20 --end loop;
21
22 dbms_output.put_line('value of data(' || k || '): ' || data1(k));
23
24
25 end;
26 /
Procedure created.
SQL>
SQL> exec p_ks2;
BEGIN p_ks2; END;
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "KINASE.P_KS2", line 21
ORA-06512: at line 1
SQL>
SQL> CREATE OR REPLACE
2 PROCEDURE p_ks2 as
3
4 TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
5 data1 mdata;
6 k integer;
7 m number;
8
9 begin
10 data1(1) := 10;
11 data1(2) := 20;
12 data1(3) := 30;
13 data1(4) := 40;
14 data1(5) := 50;
15
16 k :=3;
17 for mm in 10..11
18 loop
19 m := mm;
20 end loop;
21
22 dbms_output.put_line('value of data(' || k || '): ' || data1(k));
23
24
25 end;
26 /
Procedure created.
SQL> exec p_ks2;
value of data(3): 30
PL/SQL procedure successfully completed.
SQL> -
Error ORA-01403: no data found is not raised using jdbc
Hy there I have a problem receiving exceptions from oracle jdbc driver.
I have the following exception stack if i call insert on a view
using an instead of trigger.
ORA-01403: no data found
ORA-04088: error during execution of trigger
'MYUSER.MY_VIEW_INSERT'
if I do the insert by sql worksheet.
If I do same insert using the following driver
dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
I will receive this exception:
java.sql.SQLException: [INTERSOLV][SequeLink JDBC Driver][ORACLE]ORA-01403: Keine Daten gefunden
Now if I do same thing using oracle driver:
dbDriver = new oracle.jdbc.driver.OracleDriver();
there will no exception be raised!
here is my code:
public class myFrame extends Frame
public static void main( String[] args )
Frame myFrame = new Frame();
DbPflege dbPanel = new DbPflege();
Driver dbDriver = null;
String connectString = null;
try
if( args.length != 0 )
System.out.println( "main: use sequelink!" );
connectString = "jdbc:sequelink://myServer:4003/[Oracle]";
dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
else
System.out.println( "main: use oracle!" );
connectString = "jdbc:oracle:thin:@myServer:1521:idb";
dbDriver = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver( dbDriver );
dbPanel.con = DriverManager.getConnection(connectString, "user", "pwd" );
catch( Exception ex )
System.out.println( "main: ERROR: " + ex );
ex.printStackTrace();
void jBtnExecute_actionPerformed(java.awt.event.ActionEvent event)
Statement stmt = null;
int updateCount = -1;
int colCount = -1;
ResultSet rs = null;
ResultSetMetaData rsMeta = null;
try
stmt = con.createStatement();
stmt.execute( textAreaInput.getText() );
catch( Exception ex )
textAreaOutput.append( ex.toString() );
thanks for your help!!!!Hi,
You should run you query in sql workshop with the expected values (which are set after user clicks Save or Apply changes button) for P10_CR_BOM_CODE and P10_CR_ID.
Also, please have an exception block in the process to catch any exception and make an appropriate Insert into some user defined error-log table. It would be better to log the P10_CR_BOM_CODE and P10_CR_ID values in case of exception.
These might help you to figure out the cause of exception.
Regards,
Mangal -
Error 'ORA-01403 no data found', if a procedure called through $Universe
Hello,
we use at our customer the scheduling software $Universe. The problem follows is happend at calling PL/SQL-procedures within SQL*Plus:
Within the calling procedur another subprogram will be called. This program crashed on select of currval with the error 'ORA-01403 no data found'. This error happens only, if the procedure called through $Universe. If the procedure called directly from SQL*Plus or about a unix shell-script, no error happens.
About the command "select saddr,sid,serial# from sys.V_$SESSION where
username ='xxx';" we select the Session_ID's. These are identically before and after call of the procedure!
Do you have an idea, how the problem can be?
Next information about OS, releases, settings of Oracle-Session-Parameters, and the crashing procedure:
SQL*Plus: Release 8.1.6.0.0 - Production on Fri Mar 15 13:25:05 2002
(c) Copyright 1999 Oracle Corporation. All rights reserved.
Connected to:
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
OS: HP-UX11
ORACLE-Server NLS-parameters on HP-UX:
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8DEC
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:T
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET WE8DEC
NLS_COMP BINARY
Windows-desktop NLS-parameters:
ALTER SESSION set NLS_LANGUAGE = 'GERMAN';
ALTER SESSION set NLS_TERRITORY = 'GERMANY';
ALTER SESSION set NLS_ISO_CURRENCY = 'GERMANY';
ALTER SESSION set NLS_NUMERIC_CHARACTERS = ',.';
ALTER SESSION set NLS_CALENDAR = 'GREGORIAN';
ALTER SESSION set NLS_DATE_FORMAT = 'DD/MM/YY';
ALTER SESSION set NLS_DATE_LANGUAGE = 'GERMAN';
ALTER SESSION set NLS_SORT = 'GERMAN';
ALTER SESSION set NLS_TIME_FORMAT = 'HH24:MI:SSXFF';
ALTER SESSION set NLS_TIMESTAMP_FORMAT = 'DD.MM.RR HH24:MI:SSXFF';
ALTER SESSION set NLS_TIME_TZ_FORMAT = 'HH24:MI:SSXFF TZH:TZM';
ALTER SESSION set NLS_TIMESTAMP_TZ_FORMAT = 'DD.MM.RR HH24:MI:SSXFF
TZH:TZM';
ALTER SESSION set NLS_DUAL_CURRENCY = '?';
ALTER SESSION set NLS_COMP = 'BINARY';
PROCEDURE PROC_NEW_ID (p_value IN NUMBER,
p_field IN VARCHAR2,
p_table IN VARCHAR2,
p_currval OUT NUMBER)
IS
v_stmt VARCHAR2(200);
v_currval NUMBER;
BEGIN
-- Bildung des SQL-Statements.
v_stmt := 'INSERT INTO '||p_table|| '('|| p_field || ') VALUES
('||p_value||')';
-- Ausfuehren des SQL-Statements.
EXECUTE IMMEDIATE v_stmt;
COMMIT;
-- Bildung des SQL-Statements.
v_stmt := 'SELECT SEQ_'|| p_table || '.CURRVAL FROM DUAL';
-- Ausfuehren des SQL-Statements.
EXECUTE IMMEDIATE v_stmt INTO v_currval;
-- Wertrueckgabe
p_currval := NVL(v_currval,0);
EXCEPTION
WHEN OTHERS THEN
pkg_mira_protokoll.proc_write_error_fwd
(pkg_mira_consts.act_error,
SQLCODE,
SQLERRM(SQLCODE),
'PROC_NEW_ID');
p_currval := 0;
RAISE;
END;
Thanks for your request!
Best regards
Esser Office Consulting KG
J|rgen EsserThis forum is for posting feedback about the OTN site.
The best place for your question is probably a Portal forum.
There is a list of Portal forums here:
http://forums.oracle.com/forums/index.jsp?cat=13
Maybe you are looking for
-
I had to replace my hard drive and can't get my Photoshop CS2 9.0.2 to activate. I have tried both the phone and the website and have both the serial numbers. I can't find a number that works to speak to a live person at Adobe. I need to reduce t
-
How to make changes to a standard View and save it
Hi, I have a problem with changing view on a standard query (0RPM_C02_Q0212_V01). I opened this in BEx Analyzer, made the changes but when I'm trying to save this, am unable to save or replace the existing view. Do I need to have any specific r
-
HT201071 Help! Mavericks will not recognize my Canon 8400 scanner--is there a workaround?
Help! My Imac 10.9.1 will not recognize my canon8400 scanner! Is there a work-around? Canon no loger provides software or drivers for Mavericks.
-
Imac problems using Snow Leopard 10.6.1
I have been running my Imac perfectly with no problems at all on 10.5 but having recently installed 10.6.1 it has started playing up. On startup it sometimes freezes with no key or mouse movement at all which needs a rear button restart to cure it an
-
Xperia Z2 SD Card Slot is Broken, help please
Dear support teams. My Xperia Z2's sd card slot is broken. All of a sudden, the microsd flap was opened by itself, and the sd card popped out. Then everytime I try to insert the sd card, the slot ejects the sd card by itself. What should I do? I don'