Regarding SQL Queries
Iam developing a randomizing program .which selects random rows frm the database.iam using sql as backend and asp.net as front end.
i allow user to give a number say 1000, so 1000 random rows will be slected frm the database.iam using NEWID() for random selection.
But how do i put the user value into query. so as to select that many random rows from the databse.
please help me out on this
SQL> select * from (select * from scott.emp order by dbms_random.random) where rownum < 5 order by 1 ;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7499 ALLEN SALESMAN 7698 20-FEB-1981 1600 300 30
7566 JONES MANAGER 7839 02-APR-1981 2975 20
7876 ADAMS CLERK 7788 23-MAY-1987 1100 20
7902 FORD ANALYST 7566 03-DEC-1981 3000 20
SQL> select * from (select * from scott.emp order by dbms_random.random) where rownum < 5 order by 1 ;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7499 ALLEN SALESMAN 7698 20-FEB-1981 1600 300 30
7566 JONES MANAGER 7839 02-APR-1981 2975 20
7782 CLARK MANAGER 7839 09-JUN-1981 2450 10
7839 KING PRESIDENT 17-NOV-1981 5000 10
SQL> select * from (select * from scott.emp order by dbms_random.random) where rownum < 5 order by 1 ;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7521 WARD SALESMAN 7698 22-FEB-1981 1250 500 30
7698 BLAKE MANAGER 7839 01-MAY-1981 2850 30
7844 TURNER SALESMAN 7698 08-SEP-1981 1500 0 30
7900 JAMES CLERK 7698 03-DEC-1981 950 30
SQL>
Similar Messages
-
Queries regarding SGA, PGA and parsed SQL Queries
Hi
I am new to Oracle server architecture.
Please correct me if am wrong.
As per my understanding, the data that we retrieve from a SQL query is stored in SGA in Database buffer cache.
I have some queries:
1. Does the database buffer cache store only data from SQL queries or anything else also? What is its size? Can we set the size?
2. Where are the parsed SQL queries stored - SGA or PGA? And where exactly? I want to know if all the users connected in an Instance have access to each other's parsed SQL queries?
3. SGA is shared by all users in an Oracle Instance? PGA and UGA are local to a specific user in an instance? Is it correct?
Thanks
AbhiAB312062 wrote:
Hi
I am new to Oracle server architecture.
Please correct me if am wrong.
As per my understanding, the data that we retrieve from a SQL query is stored in SGA in Database buffer cache.
I have some queries:
1. Does the database buffer cache store only data from SQL queries or anything else also? What is its size? Can we set the size?
2. Where are the parsed SQL queries stored - SGA or PGA? And where exactly? I want to know if all the users connected in an Instance have access to each other's parsed SQL queries?
3. SGA is shared by all users in an Oracle Instance? PGA and UGA are local to a specific user in an instance? Is it correct?
Thanks
AbhiThe questions you have are all good ones, but require far too much to be explained (properly) in a forum such as this.
I would highly recommend picking up a book by Tom Kyte and reading through that.
Cheers, -
Multiple SQL Queries in SAP BPC 5.1 EVMODIFY
Hi All,
We have multiple SQL Queries in Outlooksoft 4.2 which extracts data from Oracle source system with different set of selections and conditions and parameters. We were able to use multiple SQL Queries in Outlooksoft 4.2 using Transform Data Flow Task and paste parameters using evModify dynamic script task, where ever extract to source system is needed.
According to SAP BPC 5.1, all these multiple SQL Queries and extracts by passing parameters will be coded in EVMODIFY dynamic script editor.But, EVMODIFY dynamic script editor is not working with the sets of multiple SQL Queris.It's able to recognize and execute the first SQL Query, but not able to execute from the second SQL Query.
Does any body, did multiple extracts using SQL Queries to the source system by passing parameters using SAP BPC 5.1 data manager and SSIS Packages, please let me know, how you did achieve the above functionality.
Regards,
Sreekanth.Hi Sorin,
Thanks for your update, I tried declaring the variable between %%....GLOBAL(%GTIMEID%,%SELECTION%) and the package runs now but the problem is that the package is executed using the default date value for the variable GTIMEID declared in the DTSX package and its not taken the date that I'm trying to pass from BPC. As showed below, please if you could take a look to the ModifyScript and see the last line for the global variable and line 13 PROMTP(SELECTINPUT,%SELECTION%,,,%TIME_DIM%) where I am selecting the TIMEID:
DEBUG(ON)
PROMPT(INFILES,,"Import file:",)
PROMPT(TRANSFORMATION,%TRANSFORMATION%,"Transformation file:",,,Import.xls)
PROMPT(RADIOBUTTON,%CLEARDATA%,"Select the method for importing the data from the source file to the destination database",0,{"Merge data values (Imports all records, leaving all remaining records in the destination intact)","Replace && clear data values (Clears the data values for any existing records that mirror each entity/category/time combination defined in the source, then imports the source records)"},{"0","1"})
PROMPT(RADIOBUTTON,%RUNLOGIC%,"Select whether to run default logic for stored values after importing",1,{"Yes","No"},{"1","0"})
PROMPT(RADIOBUTTON,%CHECKLCK%,"Select whether to check work status settings when importing data.",1,{"Yes, check for work status settings before importing","No, do not check work status settings"},{"1","0"})
INFO(%TEMPFILE%,%TEMPPATH%%RANDOMFILE%)
PROMPT(SELECTINPUT,%SELECTION%,,,%TIME_DIM%)
TASK(CONVERT Task,INPUTFILE,%FILE%)
TASK(CONVERT Task,OUTPUTFILE,%TEMPFILE%)
TASK(CONVERT Task,CONVERSIONFILE,%TRANSFORMATION%)
TASK(CONVERT Task,STRAPPSET,%APPSET%)
TASK(CONVERT Task,STRAPP,%APP%)
TASK(CONVERT Task,STRUSERNAME,%USER%)
TASK(Dumpload Task,APPSET,%APPSET%)
TASK(Dumpload Task,APP,%APP%)
TASK(Dumpload Task,USER,%USER%)
TASK(Dumpload Task,DATATRANSFERMODE,1)
TASK(Dumpload Task,CLEARDATA,1)
TASK(Dumpload Task,FILE,%TEMPFILE%)
TASK(Dumpload Task,RUNTHELOGIC,1)
TASK(Dumpload Task,CHECKLCK,1)
GLOBAL(%GTIMEID%,%SELECTION%)
Do you guess That I am missing something?
Thanks in advanced
Regards -
Need help for SQL Queries Tunning
hi all,
we have a procedure for search consumers, which using sql queries like:
SELECT TRIM (NAME) AS NAME, TRIM (accno) AS accno,
TRIM (connaddress) AS connaddress,
TRIM (CATEGORY) AS CATEGORY, TRIM (landmark) AS landmark,
SUBSTR (accno, 1, 3) AS subdivisionname
FROM consumermaster
WHERE LOWER (accno) LIKE
LOWER ('%' || NVL (caccno, '#noval#') || '%')
OR LOWER (NAME) LIKE LOWER ('%' || NVL (cname, '#noval#') || '%')
OR LOWER (connaddress) LIKE
LOWER ('%' || NVL (cadd, '#noval#') || '%')
OR phone LIKE '%' || NVL (cphone, '#noval#') || '%'
OR accno = (SELECT accno
FROM requestregistration
WHERE requestid = creqid)
UNION
SELECT TRIM (NAME) AS NAME, TRIM (accno) AS accno,
TRIM (connaddress) AS connaddress, TRIM (CATEGORY)
AS CATEGORY,
TRIM (landmark) AS landmark,
SUBSTR (accno, 1, 3) AS subdivisionname
FROM scodetails
WHERE LOWER (accno) LIKE
LOWER ('%' || NVL (caccno, '#noval#') || '%')
OR LOWER (NAME) LIKE LOWER ('%' || NVL (cname, '#noval#') || '%')
OR LOWER (connaddress) LIKE
LOWER ('%' || NVL (cadd, '#noval#') || '%')
OR phone LIKE '%' || NVL (cphone, '#noval#') || '%'
OR accno = (SELECT accno
FROM requestregistration
WHERE requestid = creqid);
it's ok for small tables but now data increase .......
searching method is very slow
now i want to tune this query for better performance
please sugg me best method
Thanks in advance
Regards
vij..The link given by Asif should get you on the right track for tuning this query.
I just formatted your SQL:
SELECT Trim(NAME) AS NAME,
Trim(accno) AS accno,
Trim(connaddress) AS connaddress,
Trim(category) AS category,
Trim(landmark) AS landmark,
Substr(accno,1,3) AS subdivisionname
FROM consumermaster
WHERE Lower(accno) LIKE Lower('%'
||Nvl(caccno,'#noval#')
||'%')
OR Lower(NAME) LIKE Lower('%'
||Nvl(cname,'#noval#')
||'%')
OR Lower(connaddress) LIKE Lower('%'
||Nvl(cadd,'#noval#')
||'%')
OR phone LIKE '%'
||Nvl(cphone,'#noval#')
||'%'
OR accno = (SELECT accno
FROM requestregistration
WHERE requestid = creqid)
UNION
SELECT Trim(NAME) AS NAME,
Trim(accno) AS accno,
Trim(connaddress) AS connaddress,
Trim(category) AS category,
Trim(landmark) AS landmark,
Substr(accno,1,3) AS subdivisionname
FROM scodetails
WHERE Lower(accno) LIKE Lower('%'
||Nvl(caccno,'#noval#')
||'%')
OR Lower(NAME) LIKE Lower('%'
||Nvl(cname,'#noval#')
||'%')
OR Lower(connaddress) LIKE Lower('%'
||Nvl(cadd,'#noval#')
||'%')
OR phone LIKE '%'
||Nvl(cphone,'#noval#')
||'%'
OR accno = (SELECT accno
FROM requestregistration
WHERE requestid = creqid); You are using some function on almost each and every column in the where clause. Try getting rid of them as they are hindering the use of indexes, if any, on any of the columns.
Also the guidelines in the link provided are the best starting point. -
How to see what SQL queries are made to my Database Server?
Hi all,
I'm a newbie. I'd like to know if there's a way to find out what SQL queries are being made to my Database server at the server end.
Is it possible that Oracle Database Manager logs this information (including the exact query/SQL)somewhere in its logs? How to enable such an option and/or view the recent SQL queries made ?
Please enlighten me. Thanks in advance.
Thanks and Regards
Sharat"I checked the V$SQLTEXT view too. It has only 64 characters for SQL_TEXT field." Yes yes but you might have noticed that it also has the column called piece. The view shows the full SQL statement broken up into little pieces. Use ADDRESS and HASH_VALUE to link to v$sql. There is also a view V$SQLTEXT_WITH_NEWLINES that throws in some line separators to make it "easier" to read.
Example below shows full text of SQL statements currently executing.
SQL> column address noprint
SQL> column hash_value noprint
SQL> break on hash_value skip 1
SQL> select
2 a.address, a.hash_value, b.sql_text
3 from
4 v$sql a, v$sqltext b
5 where
6 a.users_executing > 0
7 and b.address = a.address
8 and b.hash_value = a.hash_value
9 order by
10 a.address, a.hash_value, b.piece ;
SQL_TEXT
select a.address, a.hash_value, b.sql_text from v$sql a, v
$sqltext b where a.users_executing > 0 and b.address = a.a
ddress and b.hash_value = a.hash_value order by a.address,
a.hash_value, b.piece
begin quest_exec.get_message(:cmd, :peer, :owner, :folder, :scri
pt, :delay); end;
6 ligne(s) sélectionnée(s).
SQL> select
2 a.address, a.hash_value, b.sql_text
3 from
4 v$sql a, v$sqltext_with_newlines b
5 where
6 a.users_executing > 0
7 and b.address = a.address
8 and b.hash_value = a.hash_value
9 order by
10 a.address, a.hash_value, b.piece ;
SQL_TEXT
select
a.address, a.hash_value, b.sql_text
from
v$sql a, v
$sqltext_with_newlines b
where
a.users_executing > 0
and b
.address = a.address
and b.hash_value = a.hash_value
order by
a.address, a.hash_value, b.piece
begin quest_exec.get_message(:cmd, :peer, :owner, :folder, :scri
pt, :delay); end;
6 ligne(s) sélectionnée(s). -
Execute multiple sql queries in plsql
Hello All,
I have two queries, How to execute multiple sql queries in plsql. Once the query completed in sql+ that report/output has to come in html.
Please guide to how to do that.
Thanks and Regards,
Muthu
[email protected]There are several ways to do what you are wanting, but you should consider posting your question in the correct forum (PL/SQL). This forum is for question about Oracle Forms! :)
As to your question, take a look at this: How to output query results as HTML.
Craig... -
Dynamic SQL queries in HTMLDB application
How can i build a HTMLDB page only for dynamic sql queries like the features in the HTMLDB SQL-workshop.
I need a SQL interface for some power user running some ad-hoc queries.
Can i call this page directly from any other HTMLDB application?
Regards
MartinHello Martin,
I am a beginer in APEX but I have the same problem with you. What are your solution for dynamic sql query ? For report a solution is Pl Sql procedure which return a sql query. But for a form ? -
Logging sql queries without any changes in existing apps
Hi!
Is it possible to log all SQL queries send from application to database via JDBC without any (or really small) changes in code of existing applications?
I'm new to JDBC so any suggestions/ideas/best practices are welcome ;)
Best regards.
Edited by: matthew_ on Mar 16, 2008 5:35 PMIs it possible to log all SQL queries send from application to database via JDBCFirst is an assumption that the driver does in fact sends SQL. It might send some other form.
But excluding that and excluding that the driver explicitly sends it then you can create a proxy driver. You implement the driver to pass everything to the real driver. Along the way it collects the information.
You will find that that is quite bit of work. However it impacts the actual code very little and requires nothing more than loading the driver and changing the connection string in the code where it is used. -
Testing SQL Queries (QA Tool)
Hello All,
Today i heared a project about testing SQL queries.
I am allways testing queries manually. By going through the tables, where clause etc.
I there any QA tool to test SQL queries.
If the queries are application based, then how can we test?
Kindly reply if there is one, so that i can join the project.
Thanks&Regards,
Kannan BalasubramanianIf by application-based means a front-end tool to query the database, then you put a trace monitor on that user or group of users. Most QA tools are built specifically for an ongoing application development, I don't know of any out-of-the-box, I just test every single thing I design.
TimS -
Which SQL queries to count on OFO 9042 & Content Services 10120
Dear experts,
In customer context we urgently need to know which SQL queries to use :
- to count on OFO 9.0.4.2 the number of workspaces
- to count on OFO 9.0.4.2 the number of metadata elements (categories & attributes) attached to documents
- to count on Content Services 10.1.2.0 the number of containers
- to count on Content Services 10.1.2.0 the number of libraries
- to count on Content Services 10.1.2.0 the number of folders
- to count on Content Services 10.1.2.0 the number of groups
- to count on Content Services 10.1.2.0 the number of categories
- to count on Content Services 10.1.2.0 the number of attributes
- to count on Content Services 10.1.2.0 the number of workspaces
Thank a lot for your kind answer.
Best regards.
Jean-FrancoisCongrats to Shanky and Durval!
SQL Server General and Database Engine Technical Guru - June 2014
Shanky
SQL Server: What does Column Compressed Page Count Value Signify
in DMV Sys.dm_db_index_physical_stats ?
DB: "Interesting and detailed"
DRC: "• This is a good article and provides details of each and every step and the output with explanation. Very well formed and great information. • We can modify the create table query with “DEFAULT VALUES". CREATE TABLE [dbo].[INDEXCOMPRESSION](
[C1] [int] IDENTITY(1,1) NOT NULL, [C2] [char](50) NULL DEFAULT 'DEFAULT TEST DATA' ) ON [PRIMARY]"
GO: "Very informative and well formed article as Said says.. Thanks for that great ressource. "
Durval Ramos
How to get row counts for all Tables
GO: "As usual Durva has one of the best articles about SQL Server General and Database Engine articles! Thanks, buddy!" "
Jinchun Chen: "Another great tip!"
PT: "Nice tip"
Ed Price: "Good topic, formatting, and use of images. This would be far better if the examples didn't require the black bars in the images. So it would be better to scrub the data before taking the screenshots. Still a good article. Thank you!"
Ed Price, Azure & Power BI Customer Program Manager (Blog,
Small Basic,
Wiki Ninjas,
Wiki)
Answer an interesting question?
Create a wiki article about it! -
Hi,
SQL Server best practices indicates the use of Windows Authentication instead of Mixed Mode.
In this case, if you need to create reports that connect to the database,you need to add the users accessing the data source to the sql server security.
For reports that show error logs and table contents do you create a specific domain account for SQL queries and then specify it on the data source?
Thank youHi Pedro,
A report server uses credentials to connect to external data sources that provide content to reports or recipient information to a data-driven subscription. You can specify credentials that use Windows Authentication, database authentication, no authentication,
or custom authentication. When sending a connection request over the network, the report server will either impersonate a user account or the unattended execution account. For more information about the security context under which a connection request is
made, see
Data Source Configuration and Network Connections further on in this topic.
The network environment determines the kinds of connections you can support. By default, when you create an datasoource the credential is "Windows Authentication(Windows integrated security)", as you know, the user must has permission to the server
and database.
Each user must have a Windows account. It can be a local account (i.e., an account on the report server) or a trusted domain account. The account must be added as an allowed user to the report server either individually or as part of a group. Furthermore,
the client application must support Windows integrated security.
More details information please reference to below article:
Understanding SQL Server Reporting Services Authentication
Specify Credential and Connection Information for Report Data Sources
If you still have any problem, please feel free to ask.
Regards,
Vicky Liu
Vicky Liu
TechNet Community Support -
Generating XML from SQL queries and saving to an xml file?
Hi there,
I was wondering if somebody could help with regards to the following:
Generating XML from SQL queries and saving to a xml file?
We want to have a procedure(PL/SQL) that accepts an order number as an input parameter(the procedure
is accessed by our software on the client machine).
Using this order number we do a couple of SQL queries.
My first question: What would be our best option to convert the result of the
queries to xml?
Second Question: Once the XML has been generated, how do we save that XML to a file?
(The XML file is going to be saved on the file system of the server that
the database is running on.)
Now our procedure will also have a output parameter which returns the filename to us. eg. Order1001.xml
Our software on the client machine will then ftp this XML file(based on the output parameter[filename]) to
the client hard drive.
Any information would be greatly appreciated.
Thanking you,
FrancoisIf you are using 9iR2 you do not need to do any of this..
You can create an XML as an XMLType using the new SQL/XML operators. You can insert this XML into the XML DB repository using DBMS_XDB.createResource. You can then access the document from the resource. You can also return the XMLType containing the XML directly from the PL/SQL Procedure. -
Generating XML from SQL queries and saving to a xml file?
Hi there,
I was wondering if somebody could help with regards to the following:
Generating XML from SQL queries and saving to a xml file?
We want to have a stored procedure(PL/SQL) that accepts an order number as an input parameter(the procedure
is accessed by our software on the client machine).
Using this order number we do a couple of SQL queries.
My first question: What would be our best option to convert the result of the
queries to xml?
Second Question: Once the XML has been generated, how do we save that XML to a file?
(The XML file is going to be saved on the file system of the server that
the database is running on.)
Now our procedure will also have a output parameter which returns the filename to us. eg. Order1001.xml
Our software on the client machine will then ftp this XML file(based on the output parameter[filename]) to
the client hard drive.
Any information would be greatly appreciated.
Thanking you,
FrancoisHi
Here is an example of some code that i am using on Oracle 817.
The create_file procedure is the one that creates the file.
The orher procedures are utility procedures that can be used with any XML file.
PROCEDURE create_file_with_root(po_xmldoc OUT xmldom.DOMDocument,
pi_root_tag IN VARCHAR2,
po_root_element OUT xmldom.domelement,
po_root_node OUT xmldom.domnode,
pi_doctype_url IN VARCHAR2) IS
xmldoc xmldom.DOMDocument;
root xmldom.domnode;
root_node xmldom.domnode;
root_element xmldom.domelement;
record_node xmldom.domnode;
newelenode xmldom.DOMNode;
BEGIN
xmldoc := xmldom.newDOMDocument;
xmldom.setVersion(xmldoc, '1.0');
xmldom.setDoctype(xmldoc, pi_root_tag, pi_doctype_url,'');
-- Create the root --
root := xmldom.makeNode(xmldoc);
-- Create the root element in the file --
create_element_and_append(xmldoc, pi_root_tag, root, root_element, root_node);
po_xmldoc := xmldoc;
po_root_node := root_node;
po_root_element := root_element;
END create_file_with_root;
PROCEDURE create_element_and_append(pi_xmldoc IN OUT xmldom.DOMDocument,
pi_element_name IN VARCHAR2,
pi_parent_node IN xmldom.domnode,
po_new_element OUT xmldom.domelement,
po_new_node OUT xmldom.domnode) IS
element xmldom.domelement;
child_node xmldom.domnode;
newelenode xmldom.DOMNode;
BEGIN
element := xmldom.createElement(pi_xmldoc, pi_element_name);
child_node := xmldom.makeNode(element);
-- Append the new node to the parent --
newelenode := xmldom.appendchild(pi_parent_node, child_node);
po_new_node := child_node;
po_new_element := element;
END create_element_and_append;
FUNCTION create_text_element(pio_xmldoc IN OUT xmldom.DOMDocument, pi_element_name IN VARCHAR2,
pi_element_data IN VARCHAR2, pi_parent_node IN xmldom.domnode) RETURN xmldom.domnode IS
parent_node xmldom.domnode;
child_node xmldom.domnode;
child_element xmldom.domelement;
newelenode xmldom.DOMNode;
textele xmldom.DOMText;
compnode xmldom.DOMNode;
BEGIN
create_element_and_append(pio_xmldoc, pi_element_name, pi_parent_node, child_element, child_node);
parent_node := child_node;
-- Create a text node --
textele := xmldom.createTextNode(pio_xmldoc, pi_element_data);
child_node := xmldom.makeNode(textele);
-- Link the text node to the new node --
compnode := xmldom.appendChild(parent_node, child_node);
RETURN newelenode;
END create_text_element;
PROCEDURE create_file IS
xmldoc xmldom.DOMDocument;
root_node xmldom.domnode;
xml_doctype xmldom.DOMDocumentType;
root_element xmldom.domelement;
record_element xmldom.domelement;
record_node xmldom.domnode;
parent_node xmldom.domnode;
child_node xmldom.domnode;
newelenode xmldom.DOMNode;
textele xmldom.DOMText;
compnode xmldom.DOMNode;
BEGIN
xmldoc := xmldom.newDOMDocument;
xmldom.setVersion(xmldoc, '1.0');
create_file_with_root(xmldoc, 'root', root_element, root_node, 'test.dtd');
xmldom.setAttribute(root_element, 'interface_type', 'EXCHANGE_RATES');
-- Create the record element in the file --
create_element_and_append(xmldoc, 'record', root_node, record_element, record_node);
parent_node := create_text_element(xmldoc, 'title', 'Mr', record_node);
parent_node := create_text_element(xmldoc, 'name', 'Joe', record_node);
parent_node := create_text_element(xmldoc,'surname', 'Blogs', record_node);
-- Create the record element in the file --
create_element_and_append(xmldoc, 'record', root_node, record_element, record_node);
parent_node := create_text_element(xmldoc, 'title', 'Mrs', record_node);
parent_node := create_text_element(xmldoc, 'name', 'A', record_node);
parent_node := create_text_element(xmldoc, 'surname', 'B', record_node);
-- write the newly created dom document into the buffer assuming it is less than 32K
xmldom.writeTofile(xmldoc, 'c:\laiki\willow_data\test.xml');
EXCEPTION
WHEN xmldom.INDEX_SIZE_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Index Size error');
WHEN xmldom.DOMSTRING_SIZE_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'String Size error');
WHEN xmldom.HIERARCHY_REQUEST_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Hierarchy request error');
WHEN xmldom.WRONG_DOCUMENT_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Wrong doc error');
WHEN xmldom.INVALID_CHARACTER_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Invalid Char error');
WHEN xmldom.NO_DATA_ALLOWED_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Nod data allowed error');
WHEN xmldom.NO_MODIFICATION_ALLOWED_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'No mod allowed error');
WHEN xmldom.NOT_FOUND_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Not found error');
WHEN xmldom.NOT_SUPPORTED_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'Not supported error');
WHEN xmldom.INUSE_ATTRIBUTE_ERR THEN
RAISE_APPLICATION_ERROR(-20120, 'In use attr error');
WHEN OTHERS THEN
dbms_output.put_line('exception occured' || SQLCODE || SUBSTR(SQLERRM, 1, 100));
END create_file; -
Information on how to run SQL queries on the CUCM itself please
Good Day All,
I need to run an sql query on the CUCM to list all of my directory numbers, their partition, and their external mask values.
I came across this excerpt below earlier so I have a bit of an idea how to do it but iw would be great to see some other examples of sql queries.
Any assistance is most appreciated.
Also, is there a document somewhere to tell me how to run these queries?
Thanks in advance
Regards
Amanda
Currently Being Moderated
05/04/2011 5:18 AM (in response to Joshua Royle)
Re: Is there a way of pulling a report off CM showing all phones that have diverts on?
Try if running this SQL query from the CLI helps you, it should list all DN's that have CFA enabled to VM or a DN:
run sql select dnorpattern,cfadestination,cfavoicemailenabled from CallForwardDynamic c, numplan n where c.fknumplan = n.pkid and (cfadestination != '' or cfavoicemailenabled ='t')Hi Amanda
Basically it's standard SQL, so it wouldn't hurt to google 'informix select statements' and do a little reading to get the basics. There are millions of permutations of queries so it's a matter of understanding the syntax, and then applying that to the database in question. The only difference when running commands from the CLI are that:
- You prefix the standard informix SQL statement with 'run sql'
- You don't get any help from CUCM with the syntax, so you might be well advised to use something that understands SQL a little and colorises it as you type, and then paste the resulting commands into the CUCM SSH window. I use a text editor named JEdit, if you create a text file and save it as a file ending in .sql it will highlight your syntax.
- Other programs are available that do reasonable syntax highlighting (e.q. SquirrelSQL) that are designed for querying the DB directly, but you can't actually query directly against the DB for security reasons. You'd still have to copy/paste the commands.
Now... to understand the DB you'll need a reference describing all the tables etc. This is here:
http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_programming_reference_guides_list.html
Pick your version of CUCM and download the 'Data Definition' document.
A few notes on the command:
run sql : is just the CLI command that tells the shell to run the following text as SQL.
select : the SQL command to retrieve data
dnorpattern,cfadestination,cfavoicemailenabled : the column names to retrieve
callforwarddynamic c, numplan n : the names of two tables, and the abbreviations you want to refer to them as
where c.fknumplan = n.pkid : this tells SQL to return values from the two tables where these fields match up. In the data definition you'll see notes that c.fknumplan (i.e. the fknumplan column in the callforwarddynamic table, as noted by the c. prefix) refers to the PKID column in the numplan field. This is a very standard type of join in the CCM DB.
and (cfadestination != '' or cfavoicemailenabled ='t') : another clause, basically in this query we want to see only rows where cfadestination isn't blank or cfavoicefmailenabled is set to 't' for true).
Most tables are linked in one of two ways in this database:
- a column prefixed 'fk' refers to the pkid field (there is always only one pkid field per table) in the table following the 'fk' prefix. E.g. above fknumplan refers to the numplan table, pkid field. fkdevice would refer to the device table, pkid field.
- a column prefiex 'tk' refers usually to an enum table which is prefixed with 'type'. This is a table that maps the number value in the 'tk' field to a string. An example would be tkmodel - this represents the phone physical model type (e.g. 7962), and maps to a table called typemodel, and the 'enum' column in that table.
Regards
Aaron HarrisonPrincipal Engineer at Logicalis UK
Please rate helpful posts... -
Retrieving SQL queries used in BO reports using BO Java SDKs
Hi,
Is it possible to retrieve SQL queries generated by Canned Reports? I have 200+ reports saved in my local system and i need to retrieve SQL queries from them, this is required for documentation purpose. Please let me know if it is possible thru BO java SDKs.This is the code I am using to retrieve the SQL values.
IEnterpriseSession boEnterpriseSession = null;
boEnterpriseSession = CrystalEnterprise.getSessionMgr().logon( boUser, boPassword, boCmsName, boAuthType);
// Get the Report Application Factory service from Crystal Enterprise
IReportAppFactory rptAppFactory = (IReportAppFactory)boEnterpriseSession.getService("", "RASReportService");
// Get the InfoStore service from Crystal Enterprise
IInfoStore boInfoStore = (IInfoStore)boEnterpriseSession.getService("", "InfoStore");
// Retrieve the report by name from Crystal Enterprise
IInfoObjects boInfoObjects = boInfoStore.query("Select SI_ID From CI_INFOOBJECTS Where SI_NAME = '" + reportName + "'");
// Open the report into a Report Document object
ReportClientDocument rcd = rptAppFactory.openDocument((IInfoObject)boInfoObjects.get(0), 0, Locale.ENGLISH);
System.out.println("SQL query \n \n");
System.out.println(rcd.getRowsetController().getSQLStatement(null, ""));
I am a newbie and I dont understand where the error lies.. Please help me out.
regards,
nitin
When run the code gives the following errors
com.crystaldecisions.sdk.occa.managedreports.ras.internal.ManagedRASException: Cannot open report document. --- 0x80004005
Unspecified error
cause:com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: 0x80004005
Unspecified error---- Error code:-2147467259 Error code name:failed
detail: 0x80004005
Unspecified error
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.RASReportAppFactory.a(Unknown Source)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.RASReportAppFactory.a(Unknown Source)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.RASReportAppFactory.openDocument(Unknown Source)
at com.crystaldecisions.sdk.occa.managedreports.ras.internal.RASReportAppFactory.openDocument(Unknown Source)
at com.hcl.BO.retrieveSql.RetrieveSQL.main(RetrieveSQL.java:44)
Caused by: com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: 0x80004005
Unspecified error---- Error code:-2147467259 Error code name:failed
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.s.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.if(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.if(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ClientDocument.open(Unknown Source)
... 4 more
I am a newbie and
Maybe you are looking for
-
How do I get the day of week labels back in ICal 5.0.1?
In "Week" view the day of the week is no longer displaying under the date. I can't find a preference setting to get it to display. Any ideas? Thanks.
-
Exp Problem on Oracle 9.2.0.3 to 9.2.0.1
Hi All, I have 2 database instance. Both were Oracle 9i (9.2.0.1) then I applied a patch to one of the (development) instance to be upgrade to 9.2.0.3. Now I am facing problems on using exp from Development Instance to get an export from Production I
-
Hello, i have the same problem as it is described in this topic: http://discussions.apple.com/message.jspa?messageID=640245#640245 The solution is very good but after only one day the error was back again. Has anybody any idea how to solve the proble
-
Bonjour. Etant élèves ingénieurs aux Arts et Métiers à aix en provence, et nous avons à réaliser en projet un scanner d'acquisition en 3D. Il se présente sous la forme d'un bras articulé, et permet d'aquérir une pièce réelle sous CAO en la palpant. J
-
N93 - not impressed but before I send it back ...
I have problems with my new N93: The battery lasts only 2 days. In a week I have recharged it 4 times. The first charge was until it was fully charged. While I connected it to my wifi with fixed IP, WEP128 etc, it won't connect when I have the SSID s