Cannot perform cube view operation, null
Hi There,
Users use SmartView connect to the 11.1.1.3 cube, but get the following error:
"Cannot perform cube view operation, null"
Any advice?
Thanks
It is a stupid meanless message for the real issues. The users have suppress missing turned on on an intinal retrieve and nothing is returned. Turn off suppress missing in the options and the users should be fine.
Similar Messages
-
Error 58 The specified server cannot perform the requested operation
Hello,
I will try to explain the situation as brief as possible. Next to our current existing MDT environment (MDT2010 on Windows 2008 R2) we are no building a new system (MDT2013 on WIndows 2012 R2). We have multiple sites and the MDT deployment share is setup
in DFRS share so every site is getting the same deployment information and replication is done automatically. This has been working firn for 3 years with the old system and also with the new environment it was working fine in our own subnet. But when after
i have setup the remote MDT and WDS servers it is not working in these remote sites. The images are loading fine but for some reason the win PE is not connecting to the shares on the windows 2012 server in our site. When i manuualy connect from a remote win
PE to our server i always get the error: system error 58 has occured. The specified server cannot perform the requested operation.
I have been doing some troubleshooting and it seems i only got this issue when i connect from win PE 5.0 to a windows 2012 R2 server in a remote subnet.
When i use win PE 5.0 and connect to a windows 2012 R2 share in the same subnet it connects fine.
When i use win PE 5.0 and connect to a windows 2008 R2 share in a remote subnet it connects fine
When i use an older win PE and i connect to a windows 2012 R2 share in a remote subnet it connects fine
When i use win PE 5.0 and connect to a windows 2012 R2 share in a remote subnet it does NOT connect and gives the above error
The problem is that this problem also does not occure in Windows 7, after the machine was build by MDT and get into the OS i can connect without a problem to the windows 2012 R2 shares.
Checking the event viewer on the 2012 R2 server that is hosting the shares i see that the following events are created:
4624: An account was successfully logged on.
Subject:
Security ID:
NULL SID
Account Name:
Account Domain:
Logon ID:
0x0
Logon Type: 3
Impersonation Level: Impersonation
New Logon:
Security ID:
domain\username
Account Name:
username
Account Domain: domain
Logon ID:
0x1F1FC0
Logon GUID:
{8e360e91-001b-c726-84a6-e7281a4bcac8}
Process Information:
Process ID:
0x0
Process Name:
Network Information:
Workstation Name:
Source Network Address:
x.x.x.x
Source Port:
60077
Detailed Authentication Information:
Logon Process:
Kerberos
Authentication Package:
Kerberos
Transited Services:
Package Name (NTLM only):
Key Length:
0
This event is generated when a logon session is created. It is generated on the computer that was accessed.
The subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.
The logon type field indicates the kind of logon that occurred. The most common types are 2 (interactive) and 3 (network).
The New Logon fields indicate the account for whom the new logon was created, i.e. the account that was logged on.
The network fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.
The impersonation level field indicates the extent to which a process in the logon session can impersonate.
The authentication information fields provide detailed information about this specific logon request.
- Logon GUID is a unique identifier that can be used to correlate this event with a KDC event.
- Transited services indicate which intermediate services have participated in this logon request.
- Package name indicates which sub-protocol was used among the NTLM protocols.
- Key length indicates the length of the generated session key. This will be 0 if no session key was requested.
5140:
A network share object was accessed.
Subject:
Security ID:
domain\username
Account Name:
username
Account Domain: domain
Logon ID:
0x1F1FC0
Network Information:
Object Type:
File
Source Address:
x.x.x.x
Source Port:
60077
Share Information:
Share Name:
\\*\Captures
Share Path:
\??\D:\Captures
Access Request Information:
Access Mask:
0x1
Accesses:
ReadData (or ListDirectory)
4634:
An account was logged off.
Subject:
Security ID:
domain\username
Account Name:
username
Account Domain: domain
Logon ID:
0x1F1FC0
Logon Type: 3
This event is generated when a logon session is destroyed. It may be positively correlated with a logon event using the Logon ID value. Logon IDs are only unique between reboots on the same computer.
Anyone an idea why this is happening?Hi,
We can refer to the following blog for MDT troubleshooting:
http://blogs.technet.com/b/askcore/archive/2012/05/08/mdt-2010-amp-2012-my-deployment-failed-what-and-where-are-logs-i-should-review.aspx
Best Regards,
Vincent Wu
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. -
"cannot perform a DML operation inside a query" error when using table func
hello please help me
i created follow table function when i use it by "select * from table(customerRequest_list);"
command i receive this error "cannot perform a DML operation inside a query"
can you solve this problem?
CREATE OR REPLACE FUNCTION customerRequest_list(
p_sendingDate varchar2:=NULL,
p_requestNumber varchar2:=NULL,
p_branchCode varchar2:=NULL,
p_bankCode varchar2:=NULL,
p_numberOfchekbook varchar2:=NULL,
p_customerAccountNumber varchar2:=NULL,
p_customerName varchar2:=NULL,
p_checkbookCode varchar2:=NULL,
p_sendingBranchCode varchar2:=NULL,
p_branchRequestNumber varchar2:=NULL
RETURN customerRequest_nt
PIPELINED
IS
ob customerRequest_object:=customerRequest_object(
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
condition varchar2(2000 char):=' WHERE 1=1 ';
TYPE rectype IS RECORD(
requestNumber VARCHAR2(32 char),
branchRequestNumber VARCHAR2(32 char),
branchCode VARCHAR2(50 char),
bankCode VARCHAR2(50 char),
sendingDate VARCHAR2(32 char),
customerAccountNumber VARCHAR2(50 char),
customerName VARCHAR2(200 char),
checkbookCode VARCHAR2(50 char),
numberOfchekbook NUMBER(2),
sendingBranchCode VARCHAR2(50 char),
numberOfIssued NUMBER(2)
rec rectype;
dDate date;
sDate varchar2(25 char);
TYPE curtype IS REF CURSOR; --RETURN customerRequest%rowtype;
cur curtype;
my_branchRequestNumber VARCHAR2(32 char);
my_branchCode VARCHAR2(50 char);
my_bankCode VARCHAR2(50 char);
my_sendingDate date;
my_customerAccountNumber VARCHAR2(50 char);
my_checkbookCode VARCHAR2(50 char);
my_sendingBranchCode VARCHAR2(50 char);
BEGIN
IF NOT (regexp_like(p_sendingDate,'^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}$')
OR regexp_like(p_sendingDate,'^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}[[:space:]]{1}[[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}$')) THEN
RAISE_APPLICATION_ERROR(-20000,cbdpkg.get_e_m(-1,5));
ELSIF (p_sendingDate IS NOT NULL) THEN
dDate:=TO_DATE(p_sendingDate,'YYYY/MM/DD hh24:mi:ss','nls_calendar=persian');
dDate:=trunc(dDate);
sDate:=TO_CHAR(dDate,'YYYY/MM/DD hh24:mi:ss');
condition:=condition|| ' AND ' || 'sendingDate='||'TO_DATE('''||sDate||''',''YYYY/MM/DD hh24:mi:ss'''||')';
END IF;
IF (p_requestNumber IS NOT NULL) AND (cbdpkg.isspace(p_requestNumber)=0) THEN
condition:=condition|| ' AND ' || ' requestNumber='||p_requestNumber;
END IF;
IF (p_bankCode IS NOT NULL) AND (cbdpkg.isspace(p_bankCode)=0) THEN
condition:=condition|| ' AND ' || ' bankCode='''||p_bankCode||'''';
END IF;
IF (p_branchCode IS NOT NULL) AND (cbdpkg.isspace(p_branchCode)=0) THEN
condition:=condition|| ' AND ' || ' branchCode='''||p_branchCode||'''';
END IF;
IF (p_numberOfchekbook IS NOT NULL) AND (cbdpkg.isspace(p_numberOfchekbook)=0) THEN
condition:=condition|| ' AND ' || ' numberOfchekbook='''||p_numberOfchekbook||'''';
END IF;
IF (p_customerAccountNumber IS NOT NULL) AND (cbdpkg.isspace(p_customerAccountNumber)=0) THEN
condition:=condition|| ' AND ' || ' customerAccountNumber='''||p_customerAccountNumber||'''';
END IF;
IF (p_customerName IS NOT NULL) AND (cbdpkg.isspace(p_customerName)=0) THEN
condition:=condition|| ' AND ' || ' customerName like '''||'%'||p_customerName||'%'||'''';
END IF;
IF (p_checkbookCode IS NOT NULL) AND (cbdpkg.isspace(p_checkbookCode)=0) THEN
condition:=condition|| ' AND ' || ' checkbookCode='''||p_checkbookCode||'''';
END IF;
IF (p_sendingBranchCode IS NOT NULL) AND (cbdpkg.isspace(p_sendingBranchCode)=0) THEN
condition:=condition|| ' AND ' || ' sendingBranchCode='''||p_sendingBranchCode||'''';
END IF;
IF (p_branchRequestNumber IS NOT NULL) AND (cbdpkg.isspace(p_branchRequestNumber)=0) THEN
condition:=condition|| ' AND ' || ' branchRequestNumber='''||p_branchRequestNumber||'''';
END IF;
dbms_output.put_line(condition);
OPEN cur FOR 'SELECT branchRequestNumber,
branchCode,
bankCode,
sendingDate,
customerAccountNumber ,
checkbookCode ,
sendingBranchCode
FROM customerRequest '|| condition ;
LOOP
FETCH cur INTO my_branchRequestNumber,
my_branchCode,
my_bankCode,
my_sendingDate,
my_customerAccountNumber ,
my_checkbookCode ,
my_sendingBranchCode;
EXIT WHEN (cur%NOTFOUND) OR (cur%NOTFOUND IS NULL);
BEGIN
SELECT requestNumber,
branchRequestNumber,
branchCode,
bankCode,
TO_CHAR(sendingDate,'yyyy/mm/dd','nls_calendar=persian'),
customerAccountNumber ,
customerName,
checkbookCode ,
numberOfchekbook ,
sendingBranchCode ,
numberOfIssued INTO rec FROM customerRequest FOR UPDATE NOWAIT;
--problem point is this
EXCEPTION
when no_data_found then
null;
END ;
ob.requestNumber:=rec.requestNumber ;
ob.branchRequestNumber:=rec.branchRequestNumber ;
ob.branchCode:=rec.branchCode ;
ob.bankCode:=rec.bankCode ;
ob.sendingDate :=rec.sendingDate;
ob.customerAccountNumber:=rec.customerAccountNumber ;
ob.customerName :=rec.customerName;
ob.checkbookCode :=rec.checkbookCode;
ob.numberOfchekbook:=rec.numberOfchekbook ;
ob.sendingBranchCode:=rec.sendingBranchCode ;
ob.numberOfIssued:=rec.numberOfIssued ;
PIPE ROW(ob);
IF (cur%ROWCOUNT>500) THEN
CLOSE cur;
RAISE_APPLICATION_ERROR(-20000,cbdpkg.get_e_m(-1,4));
EXIT;
END IF;
END LOOP;
CLOSE cur;
RETURN;
END;Now what exactly would be the point of putting a SELECT FOR UPDATE in an autonomous transaction?
I think OP should start by considering why he has a function with an undesirable side effect in the first place. -
Getting error SQL Error : ORA-14551: cannot perform a DML operation inside a query
Hi gurus ,
Your help is greatly appreciated ..
I am doing some changes in the fucntion for an existing package .Introducing the new below check , am updating one of the tables based on a if condition ..
IF numALLOWED_COUNT >= numLAST_COUNT_ADDED+1 THEN
blnGDS_Allowed :=True;
varSTMT := 'UPDATE PROD.TMS_PROCESS_COUNTER ';
varSTMT := varSTMT ||' SET last_count_added = last_count_added+1';
varSTMT := varSTMT ||' WHERE process_name = ''DAILY_GDS_COUNT''';
varSTMT := varSTMT ||' AND COUNTER_IND = ''750FD130''';
PROC_LOG('Update Tms_Process_counter varSTMT --' || varSTMT);
IF INSERT_BATCH(99,varSTMT) > 0 THEN
NULL;
END IF;
Function for insert_batch :
UNCTION INSERT_BATCH(numTABLE_ID IN NUMBER, varSQL_STATEMENT IN VARCHAR2) RETURN NUMBER IS
varINSERT_BATCH_STMT VARCHAR2(32767) := NULL;
varADD_REC_TYPE BATCH_TABLES.ADD_REC_TYPE%TYPE;
BEGIN
PROC_LOG( 'INSIDE INSERT_BATCH IRC : ' || varSQL_STATEMENT ); --IRC 9/20 UC
INSERT INTO BATCH_STATEMENT(QUEUE_ID,TABLE_ID,STATEMENT,QUEUE_SEQUENCE_ID)
VALUES (numQUEUE_ID,numTABLE_ID,varSQL_STATEMENT,1);
RETURN 1;
EXCEPTION WHEN OTHERS THEN
PROC_LOG('Failed in INSERT_BATCH');
PROC_LOG('SQL Error : ' || SUBSTR(SQLERRM,1,1000));
RETURN -1;
END INSERT_BATCH;
desc PROD.BATCH_STATEMENT
QUEUE_ID NUMBER(15) NOT NULL
TABLE_ID NUMBER(2) NOT NULL
STATEMENT VARCHAR2(4000 BYTE) NOT NULL
QUEUE_SEQUENCE_ID NUMBER(5) NOT NULL
Some how when its calling the insert_batch , its giving me the error in the logs as below:
04:01:41 - Update Tms_Process_counter varSTMT --UPDATE PROD.TMS_PROCESS_COUNTER SET last_count_added = last_count_added+1 WHERE process_name = 'DAILY_GDS_COUNT' AND COUNTER_IND = '750FD130'
04:01:41 - INSIDE INSERT_BATCH IRC : UPDATE PROD.TMS_PROCESS_COUNTER SET last_count_added = last_count_added+1 WHERE process_name = 'DAILY_GDS_COUNT' AND COUNTER_IND = '750FD130'
04:01:41 - Failed in INSERT_BATCH
04:01:41 - SQL Error : ORA-14551: cannot perform a DML operation inside a querySome how when its calling the insert_batch , its giving me the error in the logs as below:
04:01:41 - SQL Error : ORA-14551: cannot perform a DML operation inside a query
Yes - and the exception is telling you EXACTLY what the problem is. You have a query
IF INSERT_BATCH(99,varSTMT) > 0 THEN
And you are performing a DML operation inside that query:
INSERT INTO BATCH_STATEMENT(QUEUE_ID,TABLE_ID,STATEMENT,QUEUE_SEQUENCE_ID)
VALUES (numQUEUE_ID,numTABLE_ID,varSQL_STATEMENT,1);
Like the exception says: you can't do that.
You need to call the function using PL/SQL and capture the return value into a variable. Then test that variable:
myVar := INSERT_BATCH(99,varSTMT);
if myVar > 0 THEN -
ORA-14551: cannot perform a DML operation inside a query
I have a Java method which is deployed as a Oracle function.
This Java method parses a huge XML & populates this data
into a set of database tables.
I have to call this Oracle function in a unix shell script using sqlplus.
Value returned by this function will be used by the shell script to decide
what to do next.
I am calling the Oracle Java function as follows in the shell script:
echo "SELECT XML_TABLES.RUN_XML_LOADER('$P1','$P2','$P3','$P4') FROM DUAL;\n" | sqlplus $DB_USER > $LOG
This gives error - "ORA-14551: cannot perform a DML operation inside a query".
If I have to add a AUTONOMOUS_TRANSACTION pragma to this Java function,
where to I add it considering, that the definition of the function is in a Java class.
Can we do it in call spec?
create or replace package XML_TABLES is
function RUN_XML_LOADER(xmlFile IN VARCHAR2,
xmlType IN VARCHAR2,
outputDir IN VARCHAR2,
logFileDir IN VARCHAR2) RETURN VARCHAR2 AS
LANGUAGE JAVA NAME 'XmlLoader.run
(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
return java.lang.String';
end XML_TABLES;
If not is there any other way to acheive this?
Thanks in advance.
Sunitha.If I have to add a AUTONOMOUS_TRANSACTION pragma to this Java function,You'd have to write a PL/SQL function that calls the JSP. But I would caution you about using that pragma. It does introduce tremendous complexity into processing.
As I see it you only need a function to return the result code so why not use a procedure with an OUT parameter?
Cheers, APC
Of course Yoann's suggestion of using an anonymous block would work too.
Message was edited by:
APC -
"The specified server cannot perform the requested operation" when rpc from server 2003 to Windows 7
I am having problems where all my Windows 2003 servers cannot rpc to 2 of my Windows 7 workstations, error message is "The specified server cannot perform the requested operation".
All the machines are in workgroup environment.
Windows 7 workstations: desk1, desk2, desk3, desk4, desk5, desk6
Windows 2003 servers: server1, server2, server3, server4, server5
Windows 2008 server: server6
From any Windows 7 workstation I can rpc to any other machines,
\\desk1\d$, no problem
From any Windows 2003 server I can rpc to all the machines exception desk4 and desk5, they give the "The specified server cannot perform the requested operation". However, desk4 and desk5 can rpc to any other machines (including the Windows 2003
servers), no problem
From Windows 2008 rpc to desk4 and desk5 also no problem.
I also have no problem rpc between any of the Windows 2003 servers,
\\server2\d$ from server3, no problem.
I turned off the firewall at desk5 and desk4, just to try, but didn't help, same problem. This show firewall is not the cause of the problem.
Desk4 and Desk5 used to run Windows 2012 for 1 year and recently I downgraded them Windows 7 Professional x64. When they were running as Windows 2012, those Windows 2003 servers have no problem rpc to desk5 and desk4.
The issue is thus lying between desk4 and desk5 with Windows 2003 only\
Any suggestions?
Valuable skills are not learned, learned skills aren't valuable.Hi,
I found a related thread and a hotfix for similar issue:
Problems Accessing Administrative Shares Remotely - Windows cannot access \\Servername\ShareName
http://social.technet.microsoft.com/Forums/windowsserver/en-US/9807a799-bea3-46ad-92a5-732779135f98/problems-accessing-administrative-shares-remotely-windows-cannot-access-servernamesharename?forum=winserver8gen
You cannot access an administrative share on a computer after you set the SrvsvcDefaultShareInfo registry entry to configure the default share permissions for a network share
https://support.microsoft.com/kb/971277/en-us
Also please check if it is caused by security program such as antivirus program.
If you have any feedback on our support, please send to [email protected] -
Cannot start Cube Viewer under Linux
The following bug was found for Windows platform.
Do anyone have the patch for LINUX- SUSE. I have got the same problem under Linux but the patch is used for Window but it isn't any pacth for Linux there.
The below description ist the same as for UNIX.
fact: MS Windows NT
fact: MS Windows 2000
fact: MS Windows XP
fact: Oracle OLAP Server 9.2.0.1.0
fact: Oracle Enterprise Manger 9.2.0.1.0
symptom: Olap Cube Viewer cannot be started
symptom: An empty error window with a fire alarm symbol is displayed
cause: Running Oracle 9.2.0.1.0 Enterprise Edition with the OLAP option on
MS Windows.
In Oracle Enterprise Manager Console:
1. Startup the 9.2.0.1.0 Relational Database System.
2. In Enterprise Manager: Select subtree Warehouse + OLAP + Cubes + SH
3. Right-click on the COST_CUBE and select CUBE VIEWER from the popup menu.
Minimize the Oracle Enterprise Manager Console window to see the window that
is opened in the background. It says: "No materialized views have been
created for this cube ... Do you want to continue viewing the cube?"
=> select button "Yes".
Then the Oracle Enterprise Manager Cube Viewer starts loading. An error
window with a fire alarm symbol and with an OK-button appears. There is no
window title or error text displayed in the window.
Selecting the OK-button will close the cube viewer window and the 9.2.0.1
RDBMS instance is no longer running.
fix:
This problem is handled in <bug:2407685>
Apply the following 9.2.0.1 Oracle OLAP patch like described in the patch
readme file and reboot the machine (always create a backup before applying a
patch):
Patchnumber: 2323002
OLAPI API FAILS ON WINDOWS 2000 & XP
Product:Oracle OLAP Version:Oracle 9.2.0.1
Platform:MS Windows NT/2000/XP Server
To download the patch login to http:
//metalink.oracle.com
Select button "Patches", enter the Patch Number 2323002 and select
the "SUBMIT" button.
Thanks in advance for your help.
MehdiPatch/one-off 2323002 is not an issue with Linux. It addresses a bug on Windows 2000 & XP. Note that the Cube Viewer currently does not work with the SH Cubes. In short, there is an issue with support of denormalized snow flake schema. This will be fixed for Linux once the upcoming 9.2.0.2 patch set is released on MetaLink around Oct 4th.
Cube Viewer does require that the OLAPI jar files located in $ORACLE_HOME\olap\olapi\lib be the exact same version as the Database Server. So you may have to update the OLAPI jar files on the machine that is running Cube Viewer. Download from the Database Server the correct express*.jar file and copy it to the OLAPI lib directory. Another thing, you may be running into the bug where CV hangs while writing to the log file. To fix this problem, please email me and ask for the Cube Viewer zip. I'll send you some files and intstructions. -
The following bug was found for Windows platform.
Do anyone have the patch for LINUX- SUSE. I have got the same problem under Linux but the patch is used for Window but it isn't any pacth for Linux there.
The below description ist the same as for UNIX.
fact: MS Windows NT
fact: MS Windows 2000
fact: MS Windows XP
fact: Oracle OLAP Server 9.2.0.1.0
fact: Oracle Enterprise Manger 9.2.0.1.0
symptom: Olap Cube Viewer cannot be started
symptom: An empty error window with a fire alarm symbol is displayed
cause: Running Oracle 9.2.0.1.0 Enterprise Edition with the OLAP option on
MS Windows.
In Oracle Enterprise Manager Console:
1. Startup the 9.2.0.1.0 Relational Database System.
2. In Enterprise Manager: Select subtree Warehouse + OLAP + Cubes + SH
3. Right-click on the COST_CUBE and select CUBE VIEWER from the popup menu.
Minimize the Oracle Enterprise Manager Console window to see the window that
is opened in the background. It says: "No materialized views have been
created for this cube ... Do you want to continue viewing the cube?"
=> select button "Yes".
Then the Oracle Enterprise Manager Cube Viewer starts loading. An error
window with a fire alarm symbol and with an OK-button appears. There is no
window title or error text displayed in the window.
Selecting the OK-button will close the cube viewer window and the 9.2.0.1
RDBMS instance is no longer running.
fix:
This problem is handled in <bug:2407685>
Apply the following 9.2.0.1 Oracle OLAP patch like described in the patch
readme file and reboot the machine (always create a backup before applying a
patch):
Patchnumber: 2323002
OLAPI API FAILS ON WINDOWS 2000 & XP
Product:Oracle OLAP Version:Oracle 9.2.0.1
Platform:MS Windows NT/2000/XP Server
To download the patch login to http:
//metalink.oracle.com
Select button "Patches", enter the Patch Number 2323002 and select
the "SUBMIT" button.
Thanks in advance for your help.
MehdiPatch/one-off 2323002 is not an issue with Linux. It addresses a bug on Windows 2000 & XP. Note that the Cube Viewer currently does not work with the SH Cubes. In short, there is an issue with support of denormalized snow flake schema. This will be fixed for Linux once the upcoming 9.2.0.2 patch set is released on MetaLink around Oct 4th.
Cube Viewer does require that the OLAPI jar files located in $ORACLE_HOME\olap\olapi\lib be the exact same version as the Database Server. So you may have to update the OLAPI jar files on the machine that is running Cube Viewer. Download from the Database Server the correct express*.jar file and copy it to the OLAPI lib directory. Another thing, you may be running into the bug where CV hangs while writing to the log file. To fix this problem, please email me and ask for the Cube Viewer zip. I'll send you some files and intstructions. -
Cannot perform a DML operation inside a query
Dear all,
I have implemented the "Online Discussion Forum" of Steve Muench (Building Oracle XML Applications,ISBN:1-56592-691-9), and am trying to extend it by logging the queries and timing information inside the ForumSearch.Hits function (http://examples.oreilly.com/orxmlapp/orxmlapp_examples.zip).
That function is called as follow
SELECT ForumSearch.Hits(...) as HITS from DUAL
However, I am getting the ORA-14551.
That function opens a cursor and performs a select count() on a dynamic SQL, closes the cursor and returns the number of hits found.
The way i tried to extend it was to simply add the following line after the_cursor was closed.
insert into LOGGING values(the_count,response);
However, unfortunately I get the fatal error message
ORA-14551
I do understand that one shall not do an INSERT while doing a SELECT on the same table, however in this case I am doing a INSERT on another table ...
Puzzling enough, if I try to launch a DBMS_JOB for doing that insert I get a ORA-14551 as well.
I thought that by launching the DBMS_JOB I was going to uncouple the 2 events ...
Advice is appreciated.
LucaAs you discovered, Oracle will not allow you to directly manipulate the database within a select statement. Since the call to dbms_job actually inserts a row in a table, you just moved the DML to a different table. What you need to do is create a seperate procedure to do the logging, and call that in your function. Something like:
CREATE PROCEDURE logger (p_count IN NUMBER, p_reponse IN VARCHAR2) IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO logging VALUES (p_count, p_response);
COMMIT;
END;then, your function would look something like:
CREATE FUNCTION counter RETURN NUMBER IS
l_count NUMBER;
l_response VARCHAR2(10);
BEGIN
SELECT COUNT(*) INTO l_rval
FROM t;
logger(l_count,l_reponse);
RETURN l_count;
END;TTFN
John -
Cannot perform DML inside a query
Hi,
I have a Function and I am trying to execute an "Insert" statement into the Function. It gives me an error saying that-
ERROR:
ORA-14551: cannot perform a DML operation inside a query
ORA-06512: at "SCOTT.POP3", line 243
I then tried adding : PRAGMA AUTONOMOUS_TRANSACTION to the Function and then it gives me an error saying-
ERROR:
ORA-06519: active autonomous transaction detected and rolled back
ORA-06512: at "SCOTT.POP3", line 245
My code snippet is as follows :
CREATE OR REPLACE FUNCTION pop3 (
username VARCHAR2,
PASSWORD VARCHAR2,
msgnum NUMBER
RETURN tstrings PIPELINED
IS
--PRAGMA AUTONOMOUS_TRANSACTION;
pop3_server CONSTANT VARCHAR2 (100) := 'pop.secureserver.net';
pop3_port CONSTANT NUMBER := 110;
pop3_ok CONSTANT VARCHAR2 (10) := '+OK';
e_pop3_error EXCEPTION;
socket UTL_TCP.connection;
line VARCHAR2 (30000);
line2 VARCHAR2 (30000);
BYTES INTEGER;
msg_from varchar2(4000) := '';
msg_to varchar2(4000) := '';
msg_date varchar2(4000) := '';
msg_sub varchar2(4000) := '';
msg_body clob := NULL;
hyphen_checker number := 0;
msg_body_flag number := 0;
crlf varchar2(2) := chr(13) || chr(10);
-- send a POP3 command
-- (we expect each command to respond with a +OK)
FUNCTION writetopop (command VARCHAR2)
RETURN VARCHAR2
IS
len INTEGER;
resp VARCHAR2 (30000);
BEGIN
len := UTL_TCP.write_line (socket, command);
UTL_TCP.FLUSH (socket);
-- using a hack to check the popd response
len := UTL_TCP.read_line (socket, resp);
IF SUBSTR (resp, 1, 3) != pop3_ok
THEN
RAISE e_pop3_error;
END IF;
RETURN (resp);
END;
BEGIN
DBMS_LOB.CREATETEMPORARY(msg_body,true);
PIPE ROW ('pop3:' || pop3_server || ' port:' || pop3_port);
-- Just to make sure there are no previously opened connections
UTL_TCP.close_all_connections;
-- open a socket connection to the POP3 server
socket :=
UTL_TCP.open_connection (remote_host => pop3_server,
remote_port => pop3_port,
--tx_timeout => POP3_TIMEOUT,
CHARSET => 'US7ASCII'
-- read the server banner/response from the pop3 daemon
PIPE ROW (UTL_TCP.get_line (socket));
-- authenticate with the POP3 server using the USER and PASS commands
LOOP
EXIT WHEN LENGTH (line) = 1 AND line = '.';
END LOOP;
INSERT INTO email (em_issue, em_date, em_from, em_to, em_subject, em_body)
VALUES(seq_issue.nextval, msg_date, msg_from, msg_to, msg_sub, msg_body);
DBMS_LOB.freetemporary(msg_body);
msg_from := '';
msg_to := '';
msg_date := '';
msg_sub := '';
msg_body := NULL;
-- close connection
PIPE ROW ('QUIT');
PIPE ROW (writetopop ('QUIT'));
UTL_TCP.close_connection (socket);
EXCEPTION
WHEN e_pop3_error
THEN
PIPE ROW ('There are no mails !');
END;
Message was edited by:
Monk
Message was edited by:
MonkSee Note:313597.1 on MetaLink
-
Weblogic.management.NoAccessRuntimeException: Cannot perform the requested
Hi,
I am using WLES 4.2 with WebLogic 8.1 SP4 Portal domain.
Managed Servers are not running, Admin server starts normally, when i try to access WebLogic Admin Console i get below exception. Any idea what could be the root cause?????
weblogic.management.NoAccessRuntimeException: Cannot perform the requested operation, the request was from an anonymous user (Principal)
at weblogic.management.mbeans.custom.Cluster.getServers(Cluster.java:76)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.management.internal.DynamicMBeanImpl.getAttribute(DynamicMBeanImpl.java:604)
at weblogic.management.internal.ConfigurationMBeanImpl.getAttribute(ConfigurationMBeanImpl.java:179)
at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1186)
at com.sun.management.jmx.MBeanServerImpl.getAttribute(MBeanServerImpl.java:1156)
at weblogic.management.internal.RemoteMBeanServerImpl.getAttribute(RemoteMBeanServerImpl.java:288)
at weblogic.management.internal.MBeanProxy.getAttribute(MBeanProxy.java:610)
at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:442)
at weblogic.management.configuration.ClusterMBean_Stub.getServers(ClusterMBean_Stub.java:1168)
at weblogic.management.console.utils.MBeans.getServersFor(MBeans.java:692)
at weblogic.management.console.webapp._domain.__nav._jspService(__nav.java:1507)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:322)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:150)
at weblogic.management.console.actions.ForwardAction.perform(ForwardAction.java:35)
at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:173)
at weblogic.management.console.actions.internal.ActionServlet.doGet(ActionServlet.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>Did you ever find resolution to this? We are encountering the listed exception every 10 minutes in the logs and have yet to identify the source.
-
Why we cannot perform DML operations against complex views directly.
hi
can any tell me why we cannot perform DML operations against complex views directly.Hi,
It is not easy to perform DML operations on complex views which involve more than one table as said by vissu. The reason being you may not know which columns to be updated/inserted/deleted on the base tables of the views. If it is a simple view containing a single table it is as simple as performing actions on the table.
For further details visit this
http://www.orafaq.com/wiki/View
cheers
VT -
"Cannot perform operation, connection is closed" with Open MQ 4.4
I am using Sun MQ 4.4 with Glassfish 2.1.1 on Red Hat 5.7.
I am able to install glassfish cluster and all the instances are running fine. But, when I try to send a message to a topic, I get following exception
javax.jms.IllegalStateException: [C4062]: Cannot perform operation, connection is closed.
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.checkConnectionState(ConnectionImpl.java:2468)
at com.sun.messaging.jmq.jmsclient.XAConnectionImpl.createSession(XAConnectionImpl.java:105)
at com.sun.messaging.jms.ra.ConnectionAdapter.createSession(ConnectionAdapter.java:383)
Following is part of the stateless EJB where I am creating the session.
@PostConstruct()
private void init() {
if (connectionFactory == null) {
if (log.isTraceEnabled()) log.trace("Connection factory not set. Retrieving from server context.");
InitialContext ic = new InitialContext();
connectionFactory = (ConnectionFactory) ic.lookup("jms/testConnectionFactory");
if (log.isTraceEnabled()) log.trace("Creating JMS connection.");
connection = connectionFactory.createConnection();
@WebMethod()
public void send(){
Session session = null;
session = connection.createSession(true, Session.SESSION_TRANSACTED);
I am trying to install these on a couple of new machines. Same application works on other machines so I am guessing this is a configuartion issue somewhere on these servers.
My question is what would be a good way to find the cause of this failure.
I have turned on log level to finest for ejb-container, jms, RA through glassfish Admin console, but no useful information.
Also, I don't have the name of the servers in DNS yet. I am using IP address for specifying instances.
Any suggestions ?
Thanks
VineetHi Tom,
I used the demo/helloworld/helloworldmessage.java sample.
By the way, I should add that the broker log contains lines like:
[B1066] Closing [email protected]:2461 because "[B0061]: Client exited without closing connections"
Is this what one would expect for a connection.close() ?
It almost seems that this is happening only when the connection is nulled explicitly or the connection object is destroyed.
One last thing:
I was led down the garden path. The reason for the server being thread starved was that there were indeed connections not being closed/nulled.
Thanks in advance,
Patrice
Edited by: paubry04 on Sep 13, 2007 8:21 AM -
I have a WPF application in .NET 4.5. The latest version of the map control (version 1.0.1.0) is causing an issue if it is used within a datatemplate. This does not happen with the previous version I was using from Nuget (version 1.0.0.0). As
an aside, what happened to the Nuget package? Anyways, it is easy to reproduce the issue:
MainWindow.xaml:
<Window x:Class="MicrosoftMapError.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
Content="{Binding ViewModel,
RelativeSource={RelativeSource Self}}">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Views/MapView.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
</Window>
MainWindow.cs:
using MicrosoftMapError.ViewModels;
using System.Windows;
namespace MicrosoftMapError
public partial class MainWindow : Window
public MainWindow()
InitializeComponent();
this.ViewModel = new MapViewModel();
public object ViewModel
get { return (object)GetValue(ViewModelProperty); }
set { SetValue(ViewModelProperty, value); }
public static readonly DependencyProperty ViewModelProperty = DependencyProperty.Register(
"ViewModel",
typeof(object),
typeof(MainWindow));
MapView.xaml:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wpf="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF"
xmlns:viewModels="clr-namespace:MicrosoftMapError.ViewModels">
<DataTemplate DataType="{x:Type viewModels:MapViewModel}">
<Grid>
<wpf:Map />
</Grid>
</DataTemplate>
</ResourceDictionary>
The MapViewModel class is just an empty class, there is nothing to show there.
And this is the stack trace for the exceptions.
Outer exception: XamlParseException - The invocation of the constructor on type 'Microsoft.Maps.MapControl.WPF.Map' that matches the specified binding constraints threw an exception.
at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlReader templateReader, XamlObjectWriter currentWriter)
at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlObjectWriter objectWriter)
at System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(DependencyObject container, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
at System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren)
at System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)
at System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`1 templateDataField, FrameworkElement container)
at System.Windows.FrameworkElement.ApplyTemplate()
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Window.MeasureOverrideHelper(Size constraint)
at System.Windows.Window.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)
at System.Windows.Window.SetRootVisual()
at System.Windows.Window.SetRootVisualAndUpdateSTC()
at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)
at System.Windows.Window.CreateSourceWindow(Boolean duringShow)
at System.Windows.Window.CreateSourceWindowDuringShow()
at System.Windows.Window.SafeCreateWindowDuringShow()
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at System.Windows.Application.Run()
at MicrosoftMapError.App.Main() in d:\SoftwareDevelopment\Working\MicrosoftMapError\MicrosoftMapError\obj\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Inner exception: InvalidOperationException - Cannot perform this operation while dispatcher processing is suspended.
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at System.Windows.Threading.Dispatcher.Invoke(Delegate method, Object[] args)
at Microsoft.Maps.MapControl.WPF.Core.MapConfigurationFromWeb.ConfigLoaded(String requestKey, Dictionary`2 sections)
at Microsoft.Maps.MapControl.WPF.Core.MapConfigurationFromWeb.GetConfigurationSection(String version, String sectionName, String culture, MapConfigurationCallback callback, Boolean reExecuteCallback, Object userState)
at Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.GetSection(String version, String sectionName, String culture, String key, MapConfigurationCallback callback, Boolean reExecuteCallback, Object userState)
at Microsoft.Maps.MapControl.WPF.Core.MapConfiguration.GetSection(String version, String sectionName, String culture, String key, MapConfigurationCallback callback, Boolean reExecuteCallback)
at Microsoft.Maps.MapControl.WPF.Map..ctor()Are dev team has looked into this and I believe they have found the issue. They are working on putting together a new release. Also, Microsoft never officially released a Nuget package, someone just took some old buggy libraries and posted them on Nuget
without asking Microsoft. We are planning to make an official Nuget package.
http://rbrundritt.wordpress.com -
Hello,
I'm doing the following:
User user = new User("Dave", "[email protected]");
dao.begin(); // calls entityManager.getTransaction().begin();
dao.create(user); // calls entityManager.persist(object);
dao.commit(); // calls entityManager.getTransaction().commit();
And I get the following stack trace:
Feb 19, 2006 11:26:12 PM org.springframework.web.servlet.FrameworkServlet
processRequest
SEVERE: Could not complete request
<4|false|4.0.0EA3> kodo.persistence.ArgumentException: You cannot perform
operation persist on detached object "sofa.model.User@36e7a9". This
operation only applies to managed objects.
FailedObject: sofa.model.User@36e7a9
at kodo.kernel.BrokerImpl.getDetachedException(BrokerImpl.java:2481)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2426)
at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:
519)
at sofa.jpa.JpaDao.create(JpaDao.java:23)
at sofa.controller.SignUpController.processFormSubmission
(SignUpController.java:42)
... and so on
My User class:
@Entity(access=AccessType.FIELD)
public class User {
@Id(generate=GeneratorType.AUTO)
private Long id;
private String name;
private String emailAddress;
private String password;
public User(String name, String emailAddress) {
this.id = System.currentTimeMillis(); // workaround for bug
this.name = name;
this.emailAddress = emailAddress;
... getters and setters
Any ideas?
thanks,
daveThe problem is that "id" is auto-generated, but you're initializing it
to a non-default value. This makes Kodo think that this is an existing
database object.
I suggest downloading EA 4 from www.solarmetric.com. It solves previous
issues with null primary key values, so you should be able to leave "id"
null and therefore avoid confusing Kodo by initializing "id" yourself.
(Note, however, that EA 4 implements the public draft of the spec, and
there have been changes to some annotations.)
Maybe you are looking for
-
Problem with opening new window
Hi All, I am facing peculiar problem in my page. I have two pages, one is having a custom search RN and a table RN below of it and another is a details page. Table RN is having one check box and any open button for each row and after clicking on open
-
Hi, May I know aggregate function sum, count, max, min, average in select statement need to have group by? I know sum need to have, what about others? Thanks
-
Why can't I search a contact?
When I search for this one particular contact.my skype crash and restart itself. What does this mean? How do I know if someone blocked me?
-
Hi Experts, I am loding to the data to ODS,When i am loding data to ODS It's Showing below given error Record mode 1 unknown data record , activation failed,Please give him to suggestion so that i am go throw that your suggetion please help me. Regar
-
Regarding j combo box...
hi guys i hav created a combo box...something like String [] provinces = { "Alava", "Albacete", "Alicante", "Almeria" JComboBox pro = new JComboBox(provinces); now if i wan to retrieve the selected item how can i do it...i tried pro.ge