├── ADDRESS.java ├── AQDemoServlet.java ├── AQHttp.java ├── AQHttpRq.java ├── AQPropServlet.java ├── Cars.java ├── Emp.java ├── MesgListener.java ├── Message.java ├── PERSON.java ├── aadvdemo.sql ├── anydata.sql ├── anydset.sql ├── anytype.sql ├── aqbzdemo.tar ├── aqdemo00.sql ├── aqdemo01.sql ├── aqdemo02.sql ├── aqdemo03.sql ├── aqdemo04.sql ├── aqdemo05.sql ├── aqdemo06.sql ├── aqdemo07.sql ├── aqdemo08.sql ├── aqdemo09.sql ├── aqdemo10.sql ├── aqdemo11.sql ├── aqdemo12.sql ├── aqjmsREADME.txt ├── aqjmsdemo01.java ├── aqjmsdemo02.java ├── aqjmsdemo03.java ├── aqjmsdemo04.java ├── aqjmsdemo05.java ├── aqjmsdemo06.java ├── aqjmsdemo07.java ├── aqjmsdemo08.java ├── aqjmsdemo09.java ├── aqjmsdemo10.java ├── aqjmsdmo.sql ├── aqjmsdrp.sql ├── aqjmskprb01.java ├── aqjmskprb01a.sql ├── aqjmskprb01b.sql ├── aqjmskprb01c.sql ├── aqjmskprb01d.sql ├── aqorademo01.java ├── aqorademo02.java ├── aqoradmo.sql ├── aqoradrp.sql ├── aqxml01.xml ├── aqxml02.xml ├── aqxml03.xml ├── aqxml04.xml ├── aqxml05.xml ├── aqxml06.xml ├── aqxml07.xml ├── aqxml08.xml ├── aqxml09.xml ├── aqxml10.xml ├── aqxmlREADME.txt ├── aqxmldemo.ear ├── aqxmldmo.sql ├── aqxmldrp.sql ├── aqxmlhtp.sql ├── blobdemo.dat ├── calldemo.sql ├── case1.rcv ├── case2.rcv ├── case3.rcv ├── case4.rcv ├── cbdem1.cob ├── cbdem2.cob ├── cbdem3.cob ├── cdcdemo.sql ├── cdemdp9i.sql ├── cdemdpco.c ├── cdemdpco.dat ├── cdemdpin.c ├── cdemdpin.dat ├── cdemdpit.c ├── cdemdpit.dat ├── cdemdplp.c ├── cdemdplp.dat ├── cdemdplp.sql ├── cdemdpno.c ├── cdemdpno.dat ├── cdemdpro.c ├── cdemdpro.ctl ├── cdemdpro.dat ├── cdemdpss.c ├── cdemdpss.dat ├── cdemo1.c ├── cdemo2.c ├── cdemo3.c ├── cdemo4.c ├── cdemo5.c ├── cdemo6.cc ├── cdemo6.h ├── cdemo81.c ├── cdemo82.c ├── cdemo82.h ├── cdemo82.sql ├── cdemoanydata1.c ├── cdemoanydata1.sql ├── cdemoanydata2.c ├── cdemoanydata2.sql ├── cdemobj.c ├── cdemobj.h ├── cdemocoll.c ├── cdemocoll.h ├── cdemocor.c ├── cdemocor.h ├── cdemocor.sql ├── cdemocor1.c ├── cdemocp.c ├── cdemocp.sql ├── cdemocpproxy.c ├── cdemocpproxy.sql ├── cdemodp.c ├── cdemodp.h ├── cdemodp0.h ├── cdemodp_lip.c ├── cdemodr1.c ├── cdemodr1.h ├── cdemodr1.sql ├── cdemodr2.c ├── cdemodr2.h ├── cdemodr2.sql ├── cdemodr3.c ├── cdemodr3.h ├── cdemodr3.sql ├── cdemodsa.c ├── cdemodsa.sql ├── cdemodsc.c ├── cdemodsc.h ├── cdemodt.c ├── cdemoext.c ├── cdemoext.dat ├── cdemofil.c ├── cdemofo.c ├── cdemofor.c ├── cdemoin1.c ├── cdemoin1.h ├── cdemoin1.sql ├── cdemoin2.c ├── cdemoin2.h ├── cdemoin2.sql ├── cdemoin3.c ├── cdemoin3.h ├── cdemoin3.sql ├── cdemol2l.c ├── cdemolb.c ├── cdemolb.dat ├── cdemolb.h ├── cdemolb.sql ├── cdemolb2.c ├── cdemolbs.c ├── cdemoplb.c ├── cdemoqc.c ├── cdemoqc.sql ├── cdemoqc2.c ├── cdemorid.c ├── cdemorid.h ├── cdemorid.sql ├── cdemort.c ├── cdemort.h ├── cdemosc.c ├── cdemosc.sql ├── cdemoses.c ├── cdemoses.h ├── cdemoses.sql ├── cdemosp.c ├── cdemosp.h ├── cdemostc.c ├── cdemostc.h ├── cdemosyev.c ├── cdemosyev.sql ├── cdemosyex.sql ├── cdemothr.c ├── cdemothr.h ├── cdemoucb.c ├── cdemoucb.sql ├── cdemoucbl.c ├── cdemouni.c ├── cdemoup1.c ├── cdemoup2.c ├── cdemoupk.c ├── cdemoupk.sql ├── cdemoxml.c ├── clobdemo.dat ├── dattime1.sql ├── dattime2.sql ├── dattime3.sql ├── dattime4.sql ├── demo_rdbms.mk ├── demo_rdbms32.mk ├── demo_rdbms64.mk ├── dmabdemo.java ├── dmabdemo.sql ├── dmaidemo.java ├── dmaidemo.sql ├── dmapplydemo.java ├── dmardemo.java ├── dmardemo.sql ├── dmdtdemo.sql ├── dmdtxvlddemo.sql ├── dmexpimpdemo.java ├── dmglcdem.sql ├── dmglcdemo.java ├── dmglrdem.sql ├── dmglrdemo.java ├── dmhpdemo.sql ├── dmkmdemo.java ├── dmkmdemo.sql ├── dmnbdemo.java ├── dmnbdemo.sql ├── dmnmdemo.java ├── dmnmdemo.sql ├── dmocdemo.java ├── dmocdemo.sql ├── dmpademo.java ├── dmsh.sql ├── dmshgrants.sql ├── dmsvcdem.sql ├── dmsvcdemo.java ├── dmsvodem.sql ├── dmsvodemo.java ├── dmsvrdem.sql ├── dmsvrdemo.java ├── dmtreedemo.java ├── dmtxtfe.sql ├── dmtxtnmf.sql ├── dmtxtnmfdemo.java ├── dmtxtsvm.sql ├── dmtxtsvmdemo.java ├── dmxfdemo.java ├── epgdemo.sql ├── exfdemo.sql ├── extdemo0.sql ├── extdemo1.sql ├── extdemo2.c ├── extdemo2.h ├── extdemo2.sql ├── extdemo3.java ├── extdemo3.sql ├── extdemo3a.java ├── extdemo4.c ├── extdemo4.h ├── extdemo4.sql ├── extdemo5.c ├── extdemo5.h ├── extdemo5.sql ├── extdemo6.c ├── extdemo6.h ├── extdemo6.sql ├── fdemo1.for ├── fdemo2.for ├── fdemo3.for ├── fgacdemo.sql ├── giffile.dat ├── inhdemo.sql ├── maporder.sql ├── mddemo.sql ├── mddemo2.sql ├── mdemo1.cpp ├── mdemo1.h ├── mdemo1.sql ├── mdemo1.typ ├── mdemo1o.cpp ├── mymdemo1.h ├── nchdemo1.c ├── nlsdemo0.sql ├── nlsdemo1.sql ├── nlsdemo2.sql ├── nlsdemo3.sql ├── nlsdemo4.sql ├── nlsdemo5.sql ├── o8demo.sql ├── o8idemo.sql ├── obndra.c ├── occiaqlis.cpp ├── occiaqop.cpp ├── occiaqop.typ ├── occiblob.cpp ├── occiclob.cpp ├── occicoll.cpp ├── occidemo.sql ├── occidemod.sql ├── occidesc.cpp ├── occidml.cpp ├── occiinh.cpp ├── occiinh.typ ├── occilbar.cpp ├── occimb1.cpp ├── occimb1.sql ├── occiobj.cpp ├── occiobj.typ ├── occipobj.cpp ├── occipobj.typ ├── occipool.cpp ├── occiproc.cpp ├── occiscp.cpp ├── occistre.cpp ├── occiuni1.cpp ├── occiuni1.sql ├── occiuni2.cpp ├── occiuni2.sql ├── occiuni2.typ ├── occiuni2_hindi.txt ├── occiuni2_japanese.txt ├── occiuni2_korean.txt ├── occiuni2_russian.txt ├── occixa.cpp ├── oci02.c ├── oci02.sql ├── oci03.c ├── oci03.sql ├── oci04.c ├── oci04.sql ├── oci05.c ├── oci05.sql ├── oci06.c ├── oci06.sql ├── oci07.c ├── oci07.sql ├── oci08.c ├── oci08.sql ├── oci09.c ├── oci09.sql ├── oci10.c ├── oci10.sql ├── oci11.c ├── oci11.sql ├── oci12.c ├── oci12.sql ├── oci13.c ├── oci13.sql ├── oci14.c ├── oci14.sql ├── oci15.c ├── oci15.sql ├── oci16.c ├── oci16.sql ├── oci17.c ├── oci17.sql ├── oci18.c ├── oci18.sql ├── oci19.c ├── oci19.sql ├── oci20.c ├── oci20.sql ├── oci21.c ├── oci21.sql ├── oci22.c ├── oci22.sql ├── oci23.c ├── oci23.sql ├── oci24.c ├── oci24.sql ├── oci25.c ├── oci25.sql ├── oci_f.sed ├── oci_m.sed ├── ociaqarraydeq.c ├── ociaqarrayenq.c ├── ociaqdemo00.c ├── ociaqdemo01.c ├── ociaqdemo02.c ├── ociucb.c ├── ociucb.mk ├── ociucb32.mk ├── olsdemo.sql ├── olsdrp.sql ├── ori_f.sed ├── orl_f.sed ├── orl_m.sed ├── oro_f.sed ├── oro_m.sed ├── ort_f.sed ├── readpipe.c ├── resultcache.sql ├── rman2.sh ├── ruldemo.sql ├── sadv91.sql ├── sadvdemo.sql ├── sadvuwk.sql ├── smdim.sql ├── smxmv1.sql ├── smxmv2.sql ├── smxrw.sql ├── strmatREADME.txt ├── strmatp.sql ├── strmats.sql ├── strmatu.sql ├── strmmon.c ├── strmmv1.sql ├── strmmv1README.txt ├── strmmv2.sql ├── strmmv2README.txt ├── strmmv2s.sql ├── strmmvp1.sql ├── strmmvp2.sql ├── strmqp1.sql ├── strmqry1.sql ├── strmqry1README.txt ├── summit2.sql ├── tyevdemo.sql ├── ulcase.sh ├── ulcase1.ctl ├── ulcase1.sql ├── ulcase10.ctl ├── ulcase10.sql ├── ulcase11.ctl ├── ulcase11.dat ├── ulcase11.sql ├── ulcase2.ctl ├── ulcase2.dat ├── ulcase3.ctl ├── ulcase3.sql ├── ulcase4.ctl ├── ulcase4.dat ├── ulcase4.sql ├── ulcase5.ctl ├── ulcase5.dat ├── ulcase5.sql ├── ulcase6.ctl ├── ulcase6.dat ├── ulcase6.sql ├── ulcase7.ctl ├── ulcase7.dat ├── ulcase7e.sql ├── ulcase7s.sql ├── ulcase8.ctl ├── ulcase8.dat ├── ulcase8.sql ├── ulcase9.ctl ├── ulcase9.sql ├── ulcase91.dat ├── ulcase92.dat ├── ulcase93.dat ├── ulcase94.dat ├── ulcase95.dat ├── ulcase96.dat ├── viewdemo.sql ├── xademo1.sql ├── xademo2.sql ├── xmlgen1.sql ├── xmlgen2.sql ├── xmltype1.sql ├── xmltype2.sql ├── xmltype3.java ├── xmltype3.sql ├── xrwutl.sql ├── xtdemo01.dat ├── xtdemo01.sql ├── xtdemo02.sql ├── xtdemo03.dat ├── xtdemo03.sql ├── xtdemo04.dat ├── xtdemo04.sql └── xtsetup.sql /MesgListener.java: -------------------------------------------------------------------------------- 1 | /* $Header: MesgListener.java 16-mar-00.13:11:30 rbhyrava Exp $ */ 2 | 3 | /* Copyright (c) Oracle Corporation 2000. All Rights Reserved. */ 4 | 5 | /* 6 | DESCRIPTION 7 | 8 | 9 | PRIVATE CLASSES 10 | 11 | 12 | NOTES 13 | 14 | 15 | MODIFIED (MM/DD/YY) 16 | rbhyrava 03/15/00 - AQ jms demo -Message Listener 17 | rbhyrava 03/15/00 - Creation 18 | */ 19 | 20 | /** 21 | * @version $Header: MesgListener.java 16-mar-00.13:11:30 rbhyrava Exp $ 22 | * @author rbhyrava 23 | * @since release specific (what release of product did this appear in) 24 | */ 25 | /* 26 | * Message Listener to listen messages asynchronously. 27 | * Setup Message Listener for a Queue Receiver to receive the messages 28 | * Refer to aqjmsdemo03.java 29 | */ 30 | import oracle.AQ.*; 31 | import oracle.jms.*; 32 | import javax.jms.*; 33 | import java.lang.*; 34 | import java.math.*; 35 | import java.util.*; 36 | 37 | public class MesgListener implements MessageListener 38 | { 39 | int mesgno=0; 40 | 41 | Session mysess; 42 | String myname; 43 | 44 | MesgListener(Session sess) { 45 | mysess = sess; 46 | } 47 | public void onMessage(javax.jms.Message m) 48 | { 49 | MapMessage mm = (MapMessage) m ; 50 | try { 51 | mesgno++; 52 | System.out.println("Retrieved message " + 53 | mesgno + " with correlation: " + mm.getJMSCorrelationID()); 54 | System.out.println (" "+ mm.getStringProperty ("color") + 55 | " " + mm.getStringProperty("make") + 56 | " " + mm.getIntProperty("year") + 57 | " " + mm.getDoubleProperty("price")) ; 58 | try { 59 | mysess.commit() ; 60 | } catch (Exception e) { 61 | System.out.println("Exception on Message Listener Commit " + e) ; 62 | } 63 | 64 | } catch (JMSException e) { 65 | System.out.println("Exception onMessage:" + e) ; 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /Message.java: -------------------------------------------------------------------------------- 1 | /* $Header: Message.java 15-mar-00.09:10:14 rbhyrava Exp $ */ 2 | 3 | /* Copyright (c) Oracle Corporation 2000. All Rights Reserved. */ 4 | 5 | /* 6 | DESCRIPTION 7 | 8 | 9 | PRIVATE CLASSES 10 | 11 | 12 | NOTES 13 | 14 | 15 | MODIFIED (MM/DD/YY) 16 | rbhyrava 03/15/00 - AQ jms demo -Message Object Type 17 | rbhyrava 03/15/00 - Creation 18 | */ 19 | 20 | /** 21 | * @version $Header: Message.java 15-mar-00.09:10:14 rbhyrava Exp $ 22 | * @author rbhyrava 23 | * @since release specific (what release of product did this appear in) 24 | */ 25 | 26 | /* 27 | ** Definition of Serial Object for Object Message tests 28 | ** simple object definition, extends serializable 29 | ** Refer to aqjmsdemo01.java 30 | */ 31 | import java.io.*; 32 | import oracle.AQ.*; 33 | import oracle.jms.*; 34 | import javax.jms.*; 35 | import java.lang.*; 36 | import java.math.*; 37 | import java.util.*; 38 | 39 | class Message implements Serializable 40 | { 41 | String name; 42 | int id; 43 | int num_entries; 44 | int[] data_points; 45 | 46 | Message() 47 | { 48 | name = null; 49 | id = -99; 50 | num_entries = 0; 51 | data_points = null; 52 | } 53 | 54 | public String getName() 55 | { 56 | return name; 57 | } 58 | 59 | public int getId() 60 | { 61 | return id; 62 | } 63 | 64 | public int getNumEntries() 65 | { 66 | return num_entries; 67 | } 68 | 69 | public int[] getData() 70 | { 71 | return data_points; 72 | } 73 | 74 | public void setName(String nam) 75 | { 76 | name = nam; 77 | } 78 | 79 | public void setId(int ID) 80 | { 81 | id = ID; 82 | } 83 | 84 | public void setData(int n) 85 | { 86 | int i = 0; 87 | data_points = new int[n]; 88 | for ( i=0; i < n; i++ ) 89 | { 90 | data_points[i] = i; 91 | } 92 | num_entries = data_points.length; 93 | } 94 | } 95 | 96 | -------------------------------------------------------------------------------- /aqdemo02.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: template.sql 06-feb-96.13:23:14 kosinski Exp $ 3 | Rem 4 | Rem aqdemo02.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2000. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqdemo02.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | rem This file loads the enqueue package and enqueues 100 messages 13 | rem (10 messages are enqueued every 3 seconds to a maximum of 100 14 | rem messages). 15 | Rem 16 | Rem NOTES 17 | Rem 18 | Rem 19 | Rem MODIFIED (MM/DD/YY) 20 | Rem rbhyrava 07/10/00 - Created - bug: 1319922 21 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 22 | rem kmeiyyap 01/27/99 - spool to aqdemo02.log 23 | rem kmeiyyap 09/15/98 - Created 24 | rem 25 | rem 26 | rem 27 | 28 | connect aquser/aquser 29 | set serveroutput on 30 | set echo on 31 | spool aqdemo02.log 32 | 33 | CREATE OR REPLACE PROCEDURE DEMO_ENQUEUE (userinfo message, 34 | priority number) AS 35 | 36 | enq_msgid RAW(16); 37 | eopt dbms_aq.enqueue_options_t; 38 | mprop dbms_aq.message_properties_t; 39 | 40 | BEGIN 41 | mprop.priority := priority; 42 | dbms_aq.enqueue( 43 | queue_name => 'input_queue', 44 | enqueue_options => eopt, 45 | message_properties => mprop, 46 | payload => userinfo, 47 | msgid => enq_msgid); 48 | 49 | commit; 50 | 51 | END demo_enqueue; 52 | / 53 | 54 | DECLARE 55 | payload message; 56 | city1 varchar2(30) := 'BELMONT'; 57 | city2 varchar2(30) := 'REDWOOD SHORES'; 58 | city3 varchar2(30) := 'SUNNYVALE'; 59 | city4 varchar2(30) := 'BURLINGAME'; 60 | 61 | BEGIN 62 | for i in 1..100 LOOP 63 | IF mod (i, 3) = 0 THEN 64 | payload := message(i, city1, mod(i, 3) + 1); 65 | ELSIF mod(i, 4) = 0 THEN 66 | payload := message(i, city2, mod(i, 3) + 1); 67 | ELSIF mod(i, 2) = 0 THEN 68 | payload := message(i, city3, mod(i, 3) + 1); 69 | ELSE 70 | payload := message(i, city4, mod(i, 3) + 1); 71 | END IF; 72 | 73 | demo_enqueue(payload, (mod(i, 3) + 1)); 74 | 75 | IF mod (i, 10) = 0 THEN 76 | dbms_lock.sleep(3); 77 | END IF; 78 | 79 | END LOOP; 80 | END; 81 | / 82 | 83 | 84 | spool off 85 | -------------------------------------------------------------------------------- /aqdemo04.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqdemo04.sql 25-sep-2001.11:19:27 lzhao Exp $ 3 | Rem 4 | Rem aqdemo04.sql 5 | Rem 6 | Rem Copyright (c) 2000, 2001, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqdemo04.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | rem Dequeue messages by blocking on prop_queue for prog3 for 13 | rem approximately 2 minutes 14 | Rem 15 | Rem NOTES 16 | Rem 17 | Rem 18 | Rem MODIFIED (MM/DD/YY) 19 | Rem lzhao 09/25/01 - set feedback on 20 | Rem rbhyrava 07/10/00 - bug 1319922 21 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 22 | rem kmeiyyap 01/27/99 - spool to aqdemo04.log 23 | rem kmeiyyap 09/15/98 - Created 24 | rem 25 | set feedback on 26 | connect aquser/aquser 27 | set serveroutput on 28 | set echo on 29 | spool aqdemo04.log 30 | 31 | DECLARE 32 | BEGIN 33 | demo_prop_dequeue('prog3'); 34 | END; 35 | / 36 | 37 | rem Show the number of messages in prog3_processed_data table 38 | select count(*) from prog3_processed_data; 39 | 40 | spool off 41 | -------------------------------------------------------------------------------- /aqdemo05.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqdemo05.sql 25-sep-2001.11:19:28 lzhao Exp $ 3 | Rem 4 | Rem aqdemo05.sql 5 | Rem 6 | Rem Copyright (c) 2000, 2001, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqdemo05.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | rem Listening on input_queue for messages for 13 | rem agents "prog1" and "prog2" for approximately 2 minutes; 14 | Rem 15 | Rem NOTES 16 | Rem 17 | Rem 18 | Rem MODIFIED (MM/DD/YY) 19 | Rem lzhao 09/25/01 - set feedback on 20 | Rem rbhyrava 07/10/00 - Bug 1319922 21 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 22 | rem kmeiyyap 01/27/99 - type agent_list_t changed to aq$_agent_list_t 23 | rem kmeiyyap 10/07/98 - Added waiting time for listen 24 | rem kmeiyyap 09/15/98 - Created 25 | rem 26 | set feedback on 27 | connect aquser/aquser 28 | set serveroutput on 29 | set echo on 30 | spool aqdemo05.log 31 | 32 | DECLARE 33 | qlist dbms_aq.aq$_agent_list_t; 34 | agent_w_msg sys.aq$_agent; 35 | start_tx number; 36 | finish_tx number; 37 | listen_timeout exception; 38 | pragma exception_init(listen_timeout, -25254); 39 | 40 | BEGIN 41 | 42 | qlist(0) := sys.aq$_agent('prog1', 'input_queue', NULL); 43 | qlist(1) := sys.aq$_agent('prog2', 'input_queue', NULL); 44 | 45 | dbms_output.put_line ('Listening on input_queue.'); 46 | 47 | start_tx := dbms_utility.get_time; 48 | LOOP 49 | BEGIN 50 | 51 | finish_tx := dbms_utility.get_time; 52 | IF finish_tx - start_tx > 12000 THEN 53 | exit; 54 | END IF; 55 | 56 | DBMS_AQ.LISTEN( 57 | agent_list => qlist, 58 | wait => 30, 59 | agent => agent_w_msg); 60 | 61 | IF agent_w_msg.name = 'PROG1' THEN 62 | demo_dequeue('prog1'); 63 | ELSIF agent_w_msg.name = 'PROG2' THEN 64 | demo_dequeue('prog2'); 65 | END IF; 66 | 67 | EXCEPTION 68 | when listen_timeout THEN 69 | null; 70 | END; 71 | 72 | END LOOP; 73 | END; 74 | / 75 | 76 | rem show the number of messages in prog1_processed_data table 77 | select count(*) from prog1_processed_data; 78 | 79 | rem show the number of messages in prog2_processed_data table 80 | select count(*) from prog2_processed_data; 81 | 82 | 83 | spool off 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /aqdemo06.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: template.sql 06-feb-96.13:23:14 kosinski Exp $ 3 | Rem 4 | Rem aqdemo06.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2000. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | rem aqdemo06.sql - This script cleans up all the tables, types 10 | rem queues, queue_tables, users etc. created by 11 | rem aqdemo00 - aqdemo05. 12 | Rem 13 | Rem DESCRIPTION 14 | Rem 15 | Rem 16 | Rem NOTES 17 | rem Run this script as SYS using SQLPLUS and type '@aqdemo06'. 18 | Rem 19 | Rem MODIFIED (MM/DD/YY) 20 | Rem rbhyrava 07/10/00 - Bug 1319922 21 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 22 | rem kmeiyyap 01/27/99 - clean up script for aqdemo 23 | rem kmeiyyap 01/27/99 - Created 24 | rem 25 | 26 | set serveroutput on 27 | set echo on 28 | spool aqdemo06.log 29 | 30 | rem ========================================== 31 | rem Drop Input Queue Table 32 | rem ========================================== 33 | 34 | DECLARE 35 | BEGIN 36 | dbms_output.put_line ('Dropping Queue Table input_queue_table...'); 37 | dbms_aqadm.drop_queue_table 38 | ( 39 | queue_table => 'aquser.input_queue_table', 40 | force => TRUE 41 | ); 42 | 43 | dbms_output.put_line ('Dropped Queue Table input_queue_table.'); 44 | 45 | END; 46 | / 47 | 48 | 49 | rem ========================================== 50 | rem Drop Prop Queue Table 51 | rem ========================================== 52 | 53 | DECLARE 54 | BEGIN 55 | dbms_output.put_line ('Dropping Queue Table prop_queue_table...'); 56 | dbms_aqadm.drop_queue_table 57 | ( 58 | queue_table => 'aquser.prop_queue_table', 59 | force => TRUE 60 | ); 61 | 62 | dbms_output.put_line ('Dropped Queue Table prop_queue_table.'); 63 | 64 | END; 65 | / 66 | 67 | revoke execute on dbms_lock from aquser 68 | / 69 | 70 | drop user aquser cascade 71 | / 72 | 73 | spool off 74 | -------------------------------------------------------------------------------- /aqdemo11.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqdemo11.sql 17-oct-2003.16:57:17 aahluwal Exp $ 3 | Rem 4 | Rem aqdemo11.sql 5 | Rem 6 | Rem Copyright (c) 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqdemo11.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem Performs an array deq of a batch of messages from my_queue 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem aahluwal 10/17/03 - aahluwal_create_arrenqdeq_demos 19 | Rem aahluwal 10/07/03 - Created 20 | Rem 21 | 22 | SET ECHO ON 23 | SET FEEDBACK 1 24 | SET NUMWIDTH 10 25 | SET LINESIZE 80 26 | SET TRIMSPOOL ON 27 | SET TAB OFF 28 | SET PAGESIZE 100 29 | 30 | Rem perform array dequeue from AQ queue my_queue 31 | 32 | connect aquser/aquser 33 | set serveroutput on 34 | set echo on 35 | 36 | DECLARE 37 | deqopt dbms_aq.dequeue_options_t ; 38 | msgproparr dbms_aq.message_properties_array_t := 39 | dbms_aq.message_properties_array_t(); 40 | payloadarr message_arr := message_arr() ; 41 | msgidarr dbms_aq.msgid_array_t ; 42 | retval pls_integer ; 43 | BEGIN 44 | payloadarr.extend(10); 45 | msgproparr.extend(10); 46 | deqopt.consumer_name := 'SUB1'; 47 | retval := dbms_aq.dequeue_array( queue_name => 'AQUSER.MY_QUEUE', 48 | dequeue_options => deqopt , 49 | array_size => payloadarr.count, 50 | message_properties_array => msgproparr, 51 | payload_array => payloadarr, 52 | msgid_array => msgidarr ) ; 53 | commit; 54 | dbms_output.put_line('Dequeued ' || retval || ' messages') ; 55 | for i in 1..retval loop 56 | dbms_output.put_line ('Message ' || i || ' payload: ' || payloadarr(i).data) ; 57 | end loop ; 58 | 59 | END; 60 | / 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /aqdemo12.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqdemo12.sql 17-oct-2003.16:57:18 aahluwal Exp $ 3 | Rem 4 | Rem aqdemo12.sql 5 | Rem 6 | Rem Copyright (c) 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqdemo12.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem Removes objects and users created by aqdemo09.sql. 13 | Rem 14 | Rem NOTES 15 | Rem Run this script as SYS using SQLPLUS and type '@aqdemo12'. 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem aahluwal 10/17/03 - aahluwal_create_arrenqdeq_demos 19 | Rem aahluwal 10/07/03 - Created 20 | Rem 21 | 22 | SET ECHO ON 23 | SET FEEDBACK 1 24 | SET NUMWIDTH 10 25 | SET LINESIZE 80 26 | SET TRIMSPOOL ON 27 | SET TAB OFF 28 | SET PAGESIZE 100 29 | 30 | set serveroutput on 31 | set echo on 32 | spool aqdemo12.log 33 | 34 | rem ========================================== 35 | rem Drop My_Queue_Tab Queue Table 36 | rem ========================================== 37 | DECLARE 38 | BEGIN 39 | dbms_output.put_line ('Dropping Queue Table my_queue_tab...'); 40 | dbms_aqadm.drop_queue_table 41 | ( 42 | queue_table => 'aquser.my_queue_tab', 43 | force => TRUE 44 | ); 45 | 46 | dbms_output.put_line ('Dropped Queue Table my_queue_tab.'); 47 | 48 | END; 49 | / 50 | 51 | drop user aquser cascade 52 | / 53 | 54 | spool off 55 | -------------------------------------------------------------------------------- /aqjmsdmo.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqjmsdmo.sql 05-jun-2007.15:02:55 aatam Exp $ 3 | Rem 4 | Rem aqjmsdmo.sql 5 | Rem 6 | Rem Copyright (c) 2000, 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqjmsdmo.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem aatam 06/05/07 - password need to be consistent 19 | Rem rbhyrava 11/16/04 - user creation 20 | Rem rbhyrava 07/10/00 - AQ JMS demo -setup 21 | Rem rbhyrava 07/10/00 - Created 22 | Rem 23 | REM ===================================================== 24 | REM SETUP for AQ JMS Demos:create user and payload types 25 | REM ===================================================== 26 | SET echo on; 27 | CONNECT system/manager; 28 | DROP USER jmsuser CASCADE ; 29 | CREATE USER jmsuser IDENTIFIED BY JMSUSER; 30 | GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE TO jmsuser; 31 | 32 | CONNECT jmsuser/JMSUSER; 33 | 34 | CREATE TYPE message AS OBJECT ( 35 | id NUMBER, 36 | city VARCHAR2(30), 37 | priority NUMBER 38 | ); 39 | / 40 | 41 | CREATE OR REPLACE TYPE cars AS OBJECT ( 42 | carno NUMBER, 43 | make VARCHAR2(20) , 44 | year NUMBER, 45 | price NUMBER(10,2) , 46 | color VARCHAR2(10) 47 | ); 48 | / 49 | CREATE OR REPLACE TYPE emp AS OBJECT ( 50 | id NUMBER , 51 | name VARCHAR2(20), 52 | carown cars, 53 | rank NUMBER, 54 | zip VARCHAR2(5) 55 | ); 56 | / 57 | EXIT; 58 | 59 | REM ============================================== 60 | REM SETUP complete 61 | REM ============================================== 62 | -------------------------------------------------------------------------------- /aqjmsdrp.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: template.sql 06-feb-96.13:23:14 kosinski Exp $ 3 | Rem 4 | Rem aqjmsdrp.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2000. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqjmsdrp.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem rbhyrava 07/10/00 - Created 19 | Rem 20 | CONNECT system/manager; 21 | DROP USER jmsuser cascade ; 22 | EXIT; 23 | -------------------------------------------------------------------------------- /aqjmskprb01a.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqjmskprb01a.sql 05-jun-2007.15:02:52 aatam Exp $ 3 | Rem 4 | Rem aqjmskprb01a.sql 5 | Rem 6 | Rem Copyright (c) 2002, 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqjmskprb01a.sql 10 | Rem 11 | Rem DESCRIPTION 12 | Rem creates user and queue for AQ/OJMS kprb driver demo 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem aatam 06/05/07 - password need to be consistent 19 | Rem jleinawe 09/04/02 - jleinawe_new_aq_demos 20 | Rem jleinawe 08/30/02 - Created 21 | Rem 22 | 23 | SET ECHO ON 24 | CONNECT system/manager 25 | SET SERVEROUTPUT on 26 | 27 | -- 28 | -- create the user "jmsuser1" 29 | -- 30 | CREATE USER jmsuser1 IDENTIFIED BY JMSUSER1; 31 | 32 | GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE, AQ_USER_ROLE TO jmsuser1; 33 | GRANT EXECUTE ON DBMS_AQADM TO jmsuser1; 34 | GRANT EXECUTE ON DBMS_AQ TO jmsuser1; 35 | 36 | execute dbms_java.grant_permission('JMSUSER1', 'java.net.SocketPermission', 'localhost:1024-', 'accept, listen, resolve'); 37 | 38 | execute dbms_java.grant_permission( 'JMSUSER1', 'SYS:java.lang.RuntimePermission', ' getClassLoader', '' ) 39 | 40 | execute dbms_java.grant_permission( 'JMSUSER1', 'SYS:java.lang.RuntimePermission' , 'setContextClassLoader', '' ) 41 | 42 | CONNECT jmsuser1/JMSUSER1; 43 | 44 | -- 45 | -- create and start the JMS Queue "queue1" 46 | -- 47 | execute dbms_aqadm.create_queue_table(queue_table => 'queue1', queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE', comment => 'a test queue', multiple_consumers => false, compatible => '8.1.0'); 48 | 49 | execute dbms_aqadm.create_queue( queue_name => 'queue1', queue_table => 'queue1' ); 50 | 51 | execute dbms_aqadm.start_queue(queue_name => 'queue1'); 52 | 53 | quit; 54 | -------------------------------------------------------------------------------- /aqjmskprb01b.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqjmskprb01b.sql 05-jun-2007.15:02:53 aatam Exp $ 3 | Rem 4 | Rem aqjmskprb01b.sql 5 | Rem 6 | Rem Copyright (c) 2002, 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqjmskprb01b.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem defines java stored procedure for AQ/OJMS kprb driver demo 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem aatam 06/05/07 - password need to be consistent 19 | Rem jleinawe 09/04/02 - jleinawe_new_aq_demos 20 | Rem jleinawe 08/30/02 - Created 21 | Rem 22 | 23 | set echo on 24 | set serveroutput on 25 | connect jmsuser1/JMSUSER1 26 | 27 | -- 28 | -- define the kprb driver demos in the database 29 | -- 30 | 31 | create or replace package jmsdemo authid current_user as 32 | procedure start_me(t1 VARCHAR2); 33 | end jmsdemo; 34 | / 35 | create or replace package body jmsdemo as 36 | procedure start_me(t1 VARCHAR2) is language java 37 | name 'aqjmskprb01.main (java.lang.String[])'; 38 | end jmsdemo; 39 | / 40 | show errors 41 | 42 | 43 | quit; 44 | -------------------------------------------------------------------------------- /aqjmskprb01c.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqjmskprb01c.sql 05-jun-2007.15:02:53 aatam Exp $ 3 | Rem 4 | Rem aqjmskprb01c.sql 5 | Rem 6 | Rem Copyright (c) 2002, 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqjmskprb01c.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem Calls java stored procedure for AQ/OJMS kprb driver demo 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem aatam 06/05/07 - password need to be consistent 19 | Rem jleinawe 09/04/02 - jleinawe_new_aq_demos 20 | Rem jleinawe 08/30/02 - Created 21 | Rem 22 | 23 | set echo on 24 | connect jmsuser1/JMSUSER1 25 | 26 | -- 27 | -- run the kprb driver demo 28 | -- 29 | set serveroutput on 30 | 31 | call dbms_java.set_output(30000); 32 | 33 | call jmsdemo.start_me('hello'); 34 | call jmsdemo.start_me('hello again'); 35 | 36 | quit; 37 | 38 | -------------------------------------------------------------------------------- /aqjmskprb01d.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqjmskprb01d.sql 05-jun-2007.15:02:54 aatam Exp $ 3 | Rem 4 | Rem aqjmskprb01d.sql 5 | Rem 6 | Rem Copyright (c) 2002, 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqjmskprb01d.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem aatam 06/05/07 - password need to be consistent 19 | Rem jleinawe 09/04/02 - jleinawe_new_aq_demos 20 | Rem jleinawe 08/30/02 - Created 21 | Rem 22 | 23 | 24 | connect jmsuser1/JMSUSER1; 25 | 26 | execute dbms_aqadm.drop_Queue_table(queue_table => 'queue1', force => true); 27 | 28 | drop package jmsdemo; 29 | 30 | connect system/manager; 31 | drop user jmsuser1 cascade; 32 | 33 | quit; 34 | 35 | -------------------------------------------------------------------------------- /aqoradmo.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqoradmo.sql 16-nov-2004.15:56:51 rbhyrava Exp $ 3 | Rem 4 | Rem aqoradmo.sql 5 | Rem 6 | Rem Copyright (c) 2000, 2004, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqoradmo.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem rbhyrava 11/16/04 - user creation 19 | Rem rbhyrava 07/10/00 - AQ API demo - setup 20 | Rem rbhyrava 07/10/00 - Created 21 | Rem 22 | 23 | REM =========================================================== 24 | REM SETUP for AQ Java API demos:create user and payload types 25 | REM =========================================================== 26 | SET echo on; 27 | CONNECT system/manager; 28 | DROP USER aqjava CASCADE; 29 | CREATE USER aqjava IDENTIFIED BY aqjava; 30 | GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE TO aqjava; 31 | GRANT EXECUTE ON DBMS_AQADM TO aqjava; 32 | GRANT EXECUTE ON DBMS_AQ TO aqjava; 33 | CONNECT aqjava/aqjava; 34 | 35 | CREATE TYPE address AS OBJECT ( 36 | street VARCHAR (30), 37 | city VARCHAR(30) 38 | ); 39 | / 40 | CREATE TYPE person AS OBJECT ( 41 | name VARCHAR (30), 42 | home ADDRESS 43 | ); 44 | / 45 | EXIT; 46 | REM ============================================== 47 | REM SETUP complete 48 | REM ============================================== 49 | -------------------------------------------------------------------------------- /aqoradrp.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqoradrp.sql 15-nov-2000.10:01:53 ociqa Exp $ 3 | Rem 4 | Rem aqoradrp.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2000. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqoradrp.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem ociqa 11/15/00 - 19 | Rem rbhyrava 07/10/00 - demodrop script 20 | Rem rbhyrava 07/10/00 - Created 21 | Rem 22 | REM -------------------- 23 | REM Drop the user 24 | REM -------------------- 25 | 26 | CONNECT system/manager ; 27 | DROP USER aqjava CASCADE ; 28 | EXIT; 29 | -------------------------------------------------------------------------------- /aqxml02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | aqxmladmn.BOOK_Q1 14 | 0 15 | 10 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /aqxml03.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | aqxmladmn.cars_q1 12 | 13 | 14 | 15 | 2 16 | 17 | 18 | 1 19 | 20 | 21 | CARS 22 | 0 23 | 24 | AGENT01 25 | 0 26 | 27 | 28 | 29 | 30 | 31 | 4MEG123 32 | 2001 33 | BMW 34 | RED 35 | Red on Sale -20 36 | 35000 37 | 38 | 39 | 40 | 41 | 42 | 2 43 | 44 | 45 | CARS 46 | 0 47 | 48 | AGENT02 49 | 0 50 | 51 | 52 | 53 | 54 | 55 | 4PCE123 56 | 2000 57 | LEXUS 58 | BLUE 59 | In Stock -50 60 | 55000 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /aqxml04.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | aqxmladmn.cars_q1 14 | DEALS_CARS_Q1 15 | 8 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /aqxml05.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /aqxml06.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | aqxmladmn.jms_text_q1 15 | 16 | 17 | 18 | 1 19 | 20 | 21 | 1 22 | 23 | 24 | JMSTEXT 25 | 1 26 | 27 | scott 28 |
home
29 | 0 30 |
31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | oracle 39 | 40 | jmsuser 41 | AQProduct 42 | AQ 43 | 44 | 45 | 46 | 47 | Country 48 | USA 49 | 50 | 51 | State 52 | california 53 | 54 | 55 | Zip 56 | 94065 57 | 58 | 59 | 60 | 61 | All things bright and beautiful 62 | All creatures great and small 63 | All Things wise and Wonderful 64 | The Great Lord made them all. 65 | 66 | 67 | 68 | 69 |
70 |
71 | 72 | 73 | 74 |
75 | 76 |
77 | 78 | -------------------------------------------------------------------------------- /aqxml07.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | aqxmladmn.JMS_TEXT_Q1 12 | 2 13 | 10 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /aqxml09.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | aqxmladmn.jms_map_q1 14 | RECP1 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /aqxml10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /aqxmldemo.ear: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/aqxmldemo.ear -------------------------------------------------------------------------------- /aqxmldrp.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: aqxmldrp.sql 02-nov-2004.17:21:31 rbhyrava Exp $ 3 | Rem 4 | Rem aqxmldrp.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2004, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem aqxmldrp.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem rbhyrava 11/02/04 - drop users 19 | Rem rbhyrava 04/12/01 - Merged rbhyrava_aqxmldemos 20 | Rem rbhyrava 04/09/01 - Created 21 | Rem 22 | 23 | SET FEEDBACK 1 24 | SET NUMWIDTH 10 25 | SET LINESIZE 80 26 | SET TRIMSPOOL ON 27 | SET TAB OFF 28 | SET PAGESIZE 100 29 | SET ECHO ON 30 | 31 | connect aqxmladmn/aqxmladmn 32 | REM Stop queues 33 | BEGIN 34 | dbms_output.put_line ('Stopping Queues ...'); 35 | dbms_aqadm.stop_queue(queue_name => 'BOOK_Q1'); 36 | dbms_aqadm.stop_queue(queue_name => 'CARS_Q1'); 37 | dbms_aqadm.stop_queue(queue_name => 'CARS_Q2'); 38 | dbms_aqadm.stop_queue(queue_name => 'JMS_TEXT_Q1'); 39 | dbms_aqadm.stop_queue(queue_name => 'JMS_MAP_Q1'); 40 | END; 41 | / 42 | 43 | REM Drop queues 44 | BEGIN 45 | dbms_output.put_line ('Dropping Queues ...'); 46 | dbms_aqadm.drop_queue(queue_name => 'BOOK_Q1'); 47 | dbms_aqadm.drop_queue(queue_name => 'CARS_Q1'); 48 | dbms_aqadm.drop_queue(queue_name => 'CARS_Q2'); 49 | dbms_aqadm.drop_queue(queue_name => 'JMS_TEXT_Q1'); 50 | dbms_aqadm.drop_queue(queue_name => 'JMS_MAP_Q1'); 51 | END; 52 | / 53 | 54 | BEGIN 55 | dbms_output.put_line ('Dropping Queue Tables ...'); 56 | dbms_aqadm.drop_queue_table ( 57 | queue_table => 'book_queue_tab', 58 | force => TRUE 59 | ); 60 | dbms_output.put_line ('Dropped Queue Table book_queue_tab.'); 61 | dbms_aqadm.drop_queue_table ( 62 | queue_table => 'cars_queue_tab', 63 | force => TRUE 64 | ); 65 | dbms_output.put_line ('Dropped Queue Table cars_queue_tab.'); 66 | 67 | dbms_aqadm.drop_queue_table ( 68 | queue_table => 'jmstext_queue_tab', 69 | force => TRUE 70 | ); 71 | dbms_output.put_line ('Dropped Queue Table jmstext_queue_tab.'); 72 | 73 | dbms_aqadm.drop_queue_table ( 74 | queue_table => 'jmsmap_queue_tab', 75 | force => TRUE 76 | ); 77 | dbms_output.put_line ('Dropped Queue Table jmsmap_queue_tab.'); 78 | 79 | END; 80 | / 81 | 82 | connect system/manager 83 | 84 | EXECUTE dbms_aqadm.drop_aq_agent('"aqdemo.com/john"') ; 85 | EXECUTE dbms_aqadm.drop_aq_agent('"AQDEMO.COM/JOHN"') ; 86 | ALTER USER aqxmluser REVOKE CONNECT THROUGH scott; 87 | 88 | drop user aqxmladmn cascade ; 89 | drop user aqxmluser cascade ; 90 | 91 | -------------------------------------------------------------------------------- /blobdemo.dat: -------------------------------------------------------------------------------- 1 | 1234567890 2 | 3 | -------------------------------------------------------------------------------- /cdemdpco.dat: -------------------------------------------------------------------------------- 1 | fredrich lawson 1 563 West Apple Orchard Road 1234567890Manchester New Hamp US 2 | pamela smith 1 256 East Apple Orchard Road 1234567890Concord New Hamp US 3 | james thyson 1 63 North Apple Orchard Road 1234567890Manchester New Hamp US 4 | barbara sweeney 349 South Apple Orchard Road 1234567890Concord New Hamp US 5 | richard jacobs 1 38 West Apple Orchard Road 1234567890Manchester New Hamp US 6 | mary miller 1 20 East Apple Orchard Road 1234567890Concord New Hamp US 7 | franklin ford 1 293 North Apple Orchard Road 1234567890Manchester New Hamp US 8 | jessica patrick 1 843 South Apple Orchard Road 1234567890Concord New Hamp US 9 | john wang 1 39 West Apple Orchard Road 1234567890Manchester New Hamp US 10 | peter barnes 1 5 East Apple Orchard Road 1234567890Concord New Hamp US 11 | -------------------------------------------------------------------------------- /cdemdpin.dat: -------------------------------------------------------------------------------- 1 | fredrich lawson 1 123456123456 2 | pamela smith 1 121212909090 3 | james thyson 1 131313808080 4 | barbara sweeney 1 141414707070 5 | richard jacobs 1 151515606060 6 | mary miller 1 161616404040 7 | franklin ford 1 171717505050 8 | jessica patrick 181818303030 9 | john wang 1 191919202020 10 | peter barnes 1 101010101010 11 | -------------------------------------------------------------------------------- /cdemdpit.dat: -------------------------------------------------------------------------------- 1 | 78686CC3AEE95A4DE034080020A3EC15fredrick lawson 123456 2 | 78686CC3AEE85A4DE034080020A3EC15pamela smith 101010 3 | 78686CC3AEE75A4DE034080020A3EC15james thyson 202020 4 | 78686CC3AEE65A4DE034080020A3EC15barbara sweeney 303030 5 | 78686CC3AEE55A4DE034080020A3EC15richard jacobs 101010 6 | 78686CC3AEE45A4DE034080020A3EC15mary miller 202020 7 | 78686CC3AEE35A4DE034080020A3EC15franklin ford 303030 8 | 78686CC3AEE25A4DE034080020A3EC15jessica patrick 101010 9 | 78686CC3AEE15A4DE034080020A3EC15john wang 202020 10 | 78686CC3AEE10A4DE034080020A3EC15peter barnes 303030 11 | -------------------------------------------------------------------------------- /cdemdpno.dat: -------------------------------------------------------------------------------- 1 | fredrich lawson 1 666666 188888888123Plainfield road parts and pieces 4444 2 | pamela smith 1 555555 177777777222Plainfield road parts and pieces 4444 3 | james thyson 1 777777 166666666333Plainfield road parts and pieces 4444 4 | barbara sweeney 1 888888 155555555444Plainfield road parts and pieces 4444 5 | richard jacobs 1 999999 144444444555Plainfield road parts and pieces 4444 6 | mary miller 1 222222 122222222666Plainfield road parts and pieces 4444 7 | franklin ford 333333 199999999777Plainfield road parts and pieces 4444 8 | jessica patrick 1 444444 188888888111Plainfield road parts and pieces 4444 9 | john wang 1 555555 77777777333Plainfield road parts and pieces 4444 10 | peter barnes 1 666666 122222222333Plainfield road parts and pieces 4444 11 | -------------------------------------------------------------------------------- /cdemdpro.ctl: -------------------------------------------------------------------------------- 1 | -- Load the dp_api_demo2 table specifying OIDs. 2 | 3 | 4 | load data 5 | infile * 6 | 7 | into table dp_api_demo2 8 | replace 9 | oid (name_oid) 10 | ( 11 | name_oid FILLER position(1:32), 12 | warehouse_id position(33:35), 13 | warehouse_name position(36:70), 14 | location_id position(71:74) 15 | ) 16 | 17 | 18 | BEGINDATA 19 | 78686CC3AEE15A4DE034080020A3EC15123plainville warehouse parts_one 1234 20 | 78686CC3AEE25A4DE034080020A3EC15222plainville warehouse parts_two 1212 21 | 78686CC3AEE35A4DE034080020A3EC15333plainville warehouse pieces_one 2323 22 | -------------------------------------------------------------------------------- /cdemdpro.dat: -------------------------------------------------------------------------------- 1 | fredrich lawson 1 dp_api_demo2 78686CC3AEE15A4DE034080020A3EC15 2 | pamela smith 1 dp_api_demo2 78686CC3AEE25A4DE034080020A3EC15 3 | james thyson 1 dp_api_demo2 78686CC3AEE35A4DE034080020A3EC15 4 | barbara sweeney 1 dp_api_demo2 78686CC3AEE15A4DE034080020A3EC15 5 | richard jacobs dp_api_demo2 78686CC3AEE25A4DE034080020A3EC15 6 | mary miller 1 dp_api_demo2 78686CC3AEE35A4DE034080020A3EC15 7 | franklin ford 1 dp_api_demo2 78686CC3AEE15A4DE034080020A3EC15 8 | jessica patrick 1 dp_api_demo2 78686CC3AEE25A4DE034080020A3EC15 9 | john wang 1 dp_api_demo2 78686CC3AEE35A4DE034080020A3EC15 10 | peter barnes 1 dp_api_demo2 78686CC3AEE35A4DE034080020A3EC15 11 | -------------------------------------------------------------------------------- /cdemdpss.dat: -------------------------------------------------------------------------------- 1 | fredrich lawson 1 1 1 this is a demo 1 4 1 2 | pamela smith 1 1 1 this is a demo 1 7 2 3 | james thyson 1 1 this is a demo 1 9 3 4 | barbara sweeney 1 1 this is a demo 1 14 1 5 | richard jacobs 1 1 this is a demo 1 14 2 6 | mary miller 1 1 1 this is a demo 1 9 3 7 | franklin ford 1 1 1 this is a demo 1 7 1 8 | jessica patrick 1 1 1 this is a demo 1 4 2 9 | john wang 1 1 1 this is a demo 1 4 3 10 | peter barnes 1 1 1 this is a demo 1 7 1 11 | -------------------------------------------------------------------------------- /cdemoanydata1.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: cdemoanydata1.sql 04-may-2001.16:09:54 jchai Exp $ 3 | Rem 4 | Rem cdemoAnyData1.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem cdemoAnyData1.sql - Demo program for ANYDATA 10 | Rem 11 | Rem DESCRIPTION 12 | Rem SQL script to prepare table anydatatab and address_object type 13 | Rem 14 | Rem NOTES 15 | Rem Neet to run before cdemoAnyData. 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem jchai 05/04/01 - Merged jchai_add_oci_demos_to_shiphome 19 | Rem ani 04/30/01 - Merged ani_ocidemo 20 | Rem ani 04/24/01 - Created 21 | Rem 22 | 23 | SET FEEDBACK 1 24 | SET NUMWIDTH 10 25 | SET LINESIZE 80 26 | SET TRIMSPOOL ON 27 | SET TAB OFF 28 | SET PAGESIZE 100 29 | SET ECHO ON 30 | 31 | connect scott/tiger 32 | / 33 | drop table anydatatab 34 | / 35 | drop table addr_objtab 36 | / 37 | drop type addr_tab 38 | / 39 | drop type address_object 40 | / 41 | 42 | CREATE OR REPLACE TYPE address_object AS OBJECT 43 | ( 44 | state varchar2(3), 45 | zip varchar2(13) 46 | ) 47 | / 48 | 49 | create or replace type addr_tab is table of address_object 50 | / 51 | 52 | create table addr_objtab of address_object 53 | / 54 | insert into addr_objtab values(address_object('CA','94065')) 55 | / 56 | 57 | CREATE TABLE anydatatab(col1 number, col2 Sys.AnyData) 58 | / 59 | 60 | -------------------------------------------------------------------------------- /cdemoanydata2.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: cdemoanydata2.sql 04-may-2001.16:09:55 jchai Exp $ 3 | Rem 4 | Rem cdemoAnyData1.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem cdemoAnyData2.sql - Demo program for ANYDATA 10 | Rem 11 | Rem DESCRIPTION 12 | Rem SQL script to prepare table anydatatab and address_object type 13 | Rem 14 | Rem NOTES 15 | Rem Neet to run before cdemoAnyData2. 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem jchai 05/04/01 - Merged jchai_add_oci_demos_to_shiphome 19 | Rem ani 04/30/01 - Merged ani_ocidemo 20 | Rem ani 04/24/01 - Created 21 | Rem 22 | 23 | SET FEEDBACK 1 24 | SET NUMWIDTH 10 25 | SET LINESIZE 80 26 | SET TRIMSPOOL ON 27 | SET TAB OFF 28 | SET PAGESIZE 100 29 | SET ECHO ON 30 | 31 | connect scott/tiger 32 | 33 | drop type foo 34 | / 35 | drop type basic_object 36 | / 37 | 38 | CREATE OR REPLACE TYPE foo as OBJECT 39 | ( 40 | a DATE, 41 | b VARCHAR2(50), 42 | c CLOB 43 | ) 44 | / 45 | 46 | create or replace type basic_object as object (state char(2), zip char(10), 47 | a3 raw(10), a4 date, a5 number) 48 | / 49 | 50 | -------------------------------------------------------------------------------- /cdemocoll.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2004, Oracle. All rights reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemocoll.h - collection demo program in OCI 6 | 7 | DESCRIPTION 8 | demo of insertion(bind) and selection(define) of collection 9 | columns (nested table and varray) as named datatype SQLT_NTY 10 | using OCI interface. 11 | 12 | RELATED DOCUMENTS 13 | 14 | 15 | EXPORT FUNCTION(S) 16 | 17 | 18 | INTERNAL FUNCTION(S) 19 | 20 | 21 | EXAMPLES 22 | 23 | NOTES 24 | 25 | 26 | MODIFIED (MM/DD/YY) 27 | aliu 05/06/04 - aliu_add_coll_demo 28 | aliu 05/04/04 - Creation 29 | 30 | */ 31 | 32 | #ifndef CDEMOCOLL_ORACLE 33 | # define CDEMOCOLL_ORACLE 34 | 35 | int main(/*_ void _*/); 36 | 37 | #endif /* CDEMOCOLL_ORACLE */ 38 | -------------------------------------------------------------------------------- /cdemocor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Header: cdemocor.h 16-feb-2005.12:23:27 aliu Exp $ 3 | */ 4 | 5 | /* Copyright (c) 1995, 2005, Oracle. All rights reserved. 6 | */ 7 | 8 | /* 9 | NAME 10 | cdemocor.h 11 | 12 | DESCRIPTION 13 | This file contains the header information for the cdemocor.c 14 | 15 | RELATED DOCUMENTS 16 | None. 17 | 18 | INSPECTION STATUS 19 | Inspection date: 20 | Inspection status: 21 | Estimated increasing cost defects per page: 22 | Rule sets: 23 | 24 | ACCEPTANCE REVIEW STATUS 25 | Review date: 26 | Review status: 27 | Reviewers: 28 | 29 | PUBLIC FUNCTION(S) 30 | None. 31 | 32 | PRIVATE FUNCTION(S) 33 | As defined below. 34 | 35 | EXAMPLES 36 | 37 | NOTES 38 | 39 | MODIFIED (MM/DD/YY) 40 | aliu 02/16/05 - fix bug 4184560 41 | mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 42 | echen 06/05/97 - remove ifdefed code 43 | echen 05/30/97 - Creation 44 | */ 45 | 46 | #ifndef CDEMOCOR_ORACLE 47 | #define CDEMOCOR_ORACLE 48 | 49 | #ifndef OCI_ORACLE 50 | #include 51 | #endif 52 | 53 | #include 54 | 55 | 56 | #ifdef __FILE__ 57 | #ifdef __LINE__ 58 | #define checkerr(a, b) checkerr1(a, b, __FILE__, __LINE__) 59 | #else 60 | #define checkerr(a, b) checkerr1(a, b, __FILE__, 0) 61 | #endif 62 | #else 63 | #define checkerr(a, b) checkerr1(a, b, "???", 0) 64 | #endif 65 | 66 | 67 | /*--------------------------------------------------------------------------- 68 | PUBLIC TYPES AND CONSTANTS 69 | ---------------------------------------------------------------------------*/ 70 | 71 | 72 | /*--------------------------------------------------------------------------- 73 | PRIVATE TYPES AND CONSTANTS 74 | ---------------------------------------------------------------------------*/ 75 | struct purchase_order 76 | { 77 | OCINumber po_number; 78 | OCIRef *cust; 79 | OCIRef *related_orders; 80 | }; 81 | typedef struct purchase_order purchase_order; 82 | 83 | struct customer 84 | { 85 | OCIString *name; 86 | OCINumber age; 87 | OCITable *addr; 88 | }; 89 | typedef struct customer customer; 90 | 91 | struct address 92 | { 93 | OCIString *state; /* text state[3]; */ 94 | OCIString *zip; /* text zip[11]; */ 95 | }; 96 | typedef struct address address; 97 | 98 | struct null_address 99 | { 100 | sb2 null_address; 101 | sb2 null_state; 102 | sb2 null_zip; 103 | }; 104 | typedef struct null_address null_address; 105 | 106 | #endif /* CDEMOCOR_ORACLE */ 107 | -------------------------------------------------------------------------------- /cdemocp.sql: -------------------------------------------------------------------------------- 1 | SET SERVEROUTPUT ON 2 | CONNECT system/manager 3 | CREATE USER appuser identified by apppassword; 4 | GRANT CONNECT,RESOURCE,CREATE ANY DIRECTORY,DROP ANY DIRECTORY TO appuser; 5 | -------------------------------------------------------------------------------- /cdemocpproxy.sql: -------------------------------------------------------------------------------- 1 | SET SERVEROUTPUT ON 2 | CONNECT system/manager 3 | CREATE USER appuser identified by apppassword; 4 | GRANT CONNECT,RESOURCE,CREATE ANY DIRECTORY,DROP ANY DIRECTORY TO appuser; 5 | ALTER USER scott GRANT CONNECT THROUGH appuser; 6 | -------------------------------------------------------------------------------- /cdemodr2.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemodr2.sql 14-jul-99.13:50:24 mjaeger Exp $ 3 | rem 4 | rem cdemodr2.sql 5 | rem 6 | rem Copyright (c) 1997, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemodr2.sql - create and populate test table TAB2. 10 | rem 11 | rem DESCRIPTION 12 | rem Demonstrate INSERT/UPDATE/DELETE statements RETURNING LOBS. 13 | rem 14 | rem NOTES 15 | rem 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 19 | rem azhao 06/03/97 - Created 20 | rem 21 | 22 | connect scott/tiger 23 | drop table tab2; 24 | 25 | create table tab2 (c1 integer, c2 blob, c3 clob); 26 | 27 | rem 28 | rem insert some rows for UPDATE later 29 | rem 30 | 31 | insert into tab2 values(101, null, null); 32 | insert into tab2 values(102, null, null); 33 | insert into tab2 values(103, null, null); 34 | insert into tab2 values(104, null, null); 35 | insert into tab2 values(105, null, null); 36 | insert into tab2 values(106, null, null); 37 | insert into tab2 values(107, null, null); 38 | insert into tab2 values(108, null, null); 39 | insert into tab2 values(109, null, null); 40 | insert into tab2 values(110, null, null); 41 | 42 | rem 43 | rem insert some rows for DELETE later 44 | rem 45 | 46 | insert into tab2 values(201, '111', 'AAA'); 47 | insert into tab2 values(202, '111', 'BBB'); 48 | insert into tab2 values(203, '333', 'CCC'); 49 | insert into tab2 values(204, '444', 'DDD'); 50 | insert into tab2 values(205, '555', 'EEE'); 51 | insert into tab2 values(206, '666', 'FFF'); 52 | insert into tab2 values(207, '777', 'GGG'); 53 | insert into tab2 values(208, '888', 'HHH'); 54 | insert into tab2 values(209, '999', 'III'); 55 | insert into tab2 values(210, '000', 'JJJ'); 56 | 57 | 58 | commit; 59 | 60 | quit 61 | 62 | -------------------------------------------------------------------------------- /cdemodr3.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemodr3.sql 14-jul-99.13:51:06 mjaeger Exp $ 3 | rem 4 | rem cdemodr3.sql 5 | rem 6 | rem Copyright (c) 1997, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemodr3.sql - setup for cdemodr3.c 10 | rem 11 | rem DESCRIPTION 12 | rem create type and table used for cdemodr3.c 13 | rem 14 | rem NOTES 15 | rem 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 19 | rem svedala 09/11/98 - a "/" required after create type - bug 717842 20 | rem azhao 06/03/97 - Created 21 | rem 22 | 23 | connect scott/tiger 24 | 25 | drop table extaddr; 26 | drop type address_object; 27 | 28 | create type address_object as object (state char(2), zip char(10)); 29 | / 30 | 31 | create table extaddr of address_object; 32 | 33 | quit 34 | 35 | -------------------------------------------------------------------------------- /cdemodsa.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemodsa.sql 14-jul-99.13:51:36 mjaeger Exp $ 3 | rem 4 | rem cdemodsa.sql 5 | rem 6 | rem Copyright (c) 1997, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemodsa.sql - 10 | rem 11 | rem DESCRIPTION 12 | rem 13 | rem 14 | rem NOTES 15 | rem 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 19 | rem svedala 09/11/98 - a "/" required after create type - bug 717842 20 | rem azhao 06/03/97 - add connect scott/tiger 21 | rem sgollapu 05/30/97 - Created 22 | rem 23 | 24 | connect scott/tiger; 25 | 26 | set echo on; 27 | 28 | drop table customerobj; 29 | drop type address_object; 30 | drop type person; 31 | drop table empnml; 32 | drop table empref; 33 | 34 | create type address_object as object (state char(2), zip char(10)); 35 | / 36 | 37 | create table customerobj (custno number, addr REF address_object); 38 | 39 | create type person as object(name char(20), age number, 40 | address address_object); 41 | / 42 | 43 | create table empnml (emp_id number, emp_info person); 44 | create table empref (emp_id number, emp_info REF person); 45 | 46 | commit; 47 | 48 | set echo off; 49 | -------------------------------------------------------------------------------- /cdemoext.dat: -------------------------------------------------------------------------------- 1 | # 2 | # parameter file 3 | # 4 | param1=25 5 | param2=world 6 | param3=145 7 | param4=hi 8 | param5=5555 9 | param6=efghi 10 | param7=true 11 | param9=-63378.4542 .2096 12 | -------------------------------------------------------------------------------- /cdemoin1.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) Oracle Corporation 1995. All Rights Reserved. */ 2 | 3 | /* 4 | NAME 5 | i_residence - Demo program which modifies an inherited type in a table and 6 | displays a record from the table. 7 | 8 | DESCRIPTION 9 | This program pins an inherited instance in the object cache and displays 10 | the attributes in it. It also updates a record of a table. 11 | 12 | RELATED DOCUMENTS 13 | 14 | 15 | NOTES 16 | MODIFIED 17 | rdwajan 08/11/00 Created 18 | */ 19 | #include 20 | #include 21 | 22 | #ifndef CDEMOIN1_ORACLE 23 | # define CDEMOIN1_ORACLE 24 | 25 | #ifndef OCI_ORACLE 26 | # include 27 | #endif 28 | 29 | typedef OCIRef i_manager_ref; 30 | typedef OCIArray i_residence_arr; 31 | typedef OCIRef i_people_ref; 32 | typedef OCIRef i_residence_ref; 33 | typedef OCITable i_residence_nest; 34 | 35 | struct i_residence 36 | { 37 | OCINumber hno; 38 | OCIString * street; 39 | }; 40 | typedef struct i_residence i_residence; 41 | 42 | struct i_residence_ind 43 | { 44 | OCIInd _atomic; 45 | OCIInd hno; 46 | OCIInd street; 47 | }; 48 | typedef struct i_residence_ind i_residence_ind; 49 | 50 | struct i_people 51 | { 52 | OCIString * name; 53 | OCINumber ssn; 54 | struct i_residence addr; 55 | i_residence_nest * altadrs; 56 | }; 57 | typedef struct i_people i_people; 58 | 59 | struct i_people_ind 60 | { 61 | OCIInd _atomic; 62 | OCIInd name; 63 | OCIInd ssn; 64 | struct i_residence_ind addr; 65 | OCIInd altadrs; 66 | }; 67 | typedef struct i_people_ind i_people_ind; 68 | 69 | struct i_manager 70 | { 71 | i_people _super; 72 | OCINumber empno; 73 | i_residence_arr * workadd; 74 | }; 75 | typedef struct i_manager i_manager; 76 | 77 | struct i_manager_ind 78 | { 79 | i_people _super; 80 | OCIInd empno; 81 | OCIInd workadd; 82 | }; 83 | typedef struct i_manager_ind i_manager_ind; 84 | 85 | #endif 86 | -------------------------------------------------------------------------------- /cdemoin1.sql: -------------------------------------------------------------------------------- 1 | /* Copyright (c) Oracle Corporation 1995. All Rights Reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemoin1 - Demo program which modifies an inherited type in a table and 6 | displays a record from the table. 7 | 8 | DESCRIPTION 9 | This program pins an inherited instance in the object cache and displays 10 | the attributes in it. It also updates a record of a table. 11 | 12 | MODIFIED 13 | rdwajan 08/29/00 Created 14 | 15 | */ 16 | 17 | SET SERVEROUTPUT ON 18 | CONNECT scott/tiger; 19 | 20 | DROP TABLE i_manager_tab; 21 | DROP TABLE i_people_tab; 22 | DROP TABLE i_residence_tab; 23 | DROP TYPE i_manager; 24 | DROP TYPE i_people; 25 | DROP TYPE i_residence_nest; 26 | DROP TYPE i_residence_arr; 27 | DROP TYPE i_residence; 28 | 29 | CREATE TYPE i_residence AS OBJECT 30 | ( hno NUMBER, street VARCHAR2(50) ) 31 | / 32 | 33 | CREATE TYPE i_residence_arr AS VARRAY(3) OF REF i_residence; 34 | / 35 | CREATE TYPE i_residence_nest AS TABLE OF i_residence; 36 | / 37 | 38 | CREATE TYPE i_people AS OBJECT 39 | (name VARCHAR2(10), ssn NUMBER, addr i_residence, atladrs i_residence_nest) NOT FINAL; 40 | / 41 | 42 | CREATE TYPE i_manager UNDER i_people 43 | ( empno NUMBER, workadd i_residence_arr) ; 44 | / 45 | 46 | CREATE TABLE i_residence_tab OF i_residence; 47 | 48 | INSERT INTO i_residence_tab values (100, 'Oracle Parkway'); 49 | INSERT INTO i_residence_tab values (200, 'Oracle Parkway'); 50 | INSERT INTO i_residence_tab values (300, 'Oracle Parkway'); 51 | 52 | CREATE TABLE i_people_tab OF i_people 53 | NESTED TABLE atladrs STORE AS i_people_nt_tab1; 54 | 55 | CREATE TABLE i_manager_tab OF i_manager 56 | NESTED TABLE atladrs STORE AS i_manager_nt_tab2; 57 | 58 | INSERT INTO i_manager_tab VALUES (i_manager('ROOPA',101, 59 | i_residence (1000, 'Silver Blvd'), 60 | i_residence_nest (i_residence (201, 'Willow Road'), i_residence (505, 'Springfield St')), 61 | 45001, 62 | i_residence_arr ((SELECT REF(a) FROM i_residence_tab a WHERE a.hno = 100), 63 | (SELECT REF(a) FROM i_residence_tab a WHERE a.hno = 200), 64 | (SELECT REF(a) FROM i_residence_tab a WHERE a.hno = 300))) ); 65 | 66 | COMMIT; 67 | -------------------------------------------------------------------------------- /cdemoin2.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) Oracle Corporation 1995. All Rights Reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemoin2 - Demo program to perform attribute substitutability. 6 | 7 | DESCRIPTION 8 | This program demonstrates attribute substitutability, wherein a column 9 | which is of REF to a supertype is substituted with a REF to a subtype. 10 | All the data from the table are then displayed. 11 | 12 | NOTES 13 | dependent files : 14 | cdemoin2.c - Source file. 15 | cdemoin2.sql - SQL File to be run before execution of the test. 16 | cdemoin2.tsc - Optional, test script file. 17 | 18 | MODIFIED 19 | rdwajan 08/11/00 Created 20 | */ 21 | 22 | #ifndef CDEMOIN2_ORACLE 23 | # define CDEMOIN2_ORACLE 24 | 25 | #ifndef OCI_ORACLE 26 | # include 27 | #endif 28 | 29 | typedef OCIRef cdemoin2_sec_address_ref; 30 | typedef OCIRef cdemoin2_address_ref; 31 | 32 | struct cdemoin2_address 33 | { 34 | OCINumber hno; 35 | OCIString * street; 36 | }; 37 | typedef struct cdemoin2_address cdemoin2_address; 38 | 39 | struct cdemoin2_address_ind 40 | { 41 | OCIInd _atomic; 42 | OCIInd hno; 43 | OCIInd street; 44 | }; 45 | typedef struct cdemoin2_address_ind cdemoin2_address_ind; 46 | 47 | struct cdemoin2_sec_address 48 | { 49 | cdemoin2_address _super; 50 | OCIString * city; 51 | OCIString * state; 52 | }; 53 | typedef struct cdemoin2_sec_address cdemoin2_sec_address; 54 | 55 | struct cdemoin2_sec_address_ind 56 | { 57 | cdemoin2_address _super; 58 | OCIInd city; 59 | OCIInd state; 60 | }; 61 | typedef struct cdemoin2_sec_address_ind cdemoin2_sec_address_ind; 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /cdemoin2.sql: -------------------------------------------------------------------------------- 1 | /* Copyright (c) Oracle Corporation 1995. All Rights Reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemoin2 - Demo program to perform attribute substitutability. 6 | 7 | DESCRIPTION 8 | This program demonstrates attribute substitutability, wherein a column 9 | which is of REF to a supertype is substituted with a REF to a subtype. 10 | All the data from the table are then displayed. 11 | 12 | MODIFIED 13 | rdwajan 08/03/00 Created 14 | 15 | */ 16 | CONNECT scott/tiger; 17 | DROP TABLE cdemoin2_person_tab; 18 | DROP TABLE cdemoin2_address_tab; 19 | DROP TABLE cdemoin2_sec_address_tab; 20 | DROP TYPE cdemoin2_sec_address; 21 | DROP TYPE cdemoin2_address; 22 | 23 | CREATE TYPE cdemoin2_address AS OBJECT 24 | ( hno NUMBER, street VARCHAR2(20) ) NOT FINAL; 25 | / 26 | 27 | CREATE TYPE cdemoin2_sec_address UNDER cdemoin2_address 28 | ( city VARCHAR2(20), state CHAR(20) ); 29 | / 30 | show errors; 31 | CREATE TABLE cdemoin2_sec_address_tab OF cdemoin2_sec_address; 32 | INSERT INTO cdemoin2_sec_address_tab values 33 | (cdemoin2_sec_address(100, 'MAIN STREET', 'NEW YORK', 'NY')); 34 | INSERT INTO cdemoin2_sec_address_tab values 35 | (cdemoin2_sec_address(200, 'BROADWAY BLVD', 'CHICAGO', 'IL')); 36 | 37 | CREATE TABLE cdemoin2_address_tab OF cdemoin2_address; 38 | INSERT INTO cdemoin2_address_tab values (cdemoin2_address(300, 'SHORE RD')); 39 | INSERT INTO cdemoin2_address_tab values (cdemoin2_address(400, 'ESCONDIDO RD')); 40 | 41 | CREATE TABLE cdemoin2_person_tab 42 | ( ssn NUMBER, 43 | vacation_home REF cdemoin2_sec_address, 44 | first_home REF cdemoin2_address 45 | ); 46 | 47 | INSERT INTO cdemoin2_person_tab (ssn, vacation_home, first_home) VALUES 48 | (999, (SELECT REF(a) FROM cdemoin2_sec_address_tab a WHERE a.hno = 100), 49 | (SELECT REF(a) FROM cdemoin2_address_tab a WHERE a.hno = 300)); 50 | 51 | COMMIT; 52 | 53 | -------------------------------------------------------------------------------- /cdemoin3.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) Oracle Corporation 1995. All Rights Reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemoin3 - Demo program to describe an object, inherited types, object 6 | table and subtable. 7 | 8 | DESCRIPTION 9 | This program describes an object, an inherited object, methods of an 10 | object, object table and a subtable and prints out the new type level 11 | attributes, the new method level attributes and the new table level 12 | attributes. 13 | 14 | 15 | NOTES 16 | dependent files : 17 | cdemoin3.c - Source file. 18 | cdemoin3.sql - SQL File to be run before execution of the test. 19 | cdemoin3.tsc - Optional, test script file. 20 | 21 | MODIFIED 22 | rdwajan 08/07/00 Created 23 | */ 24 | 25 | #ifndef CDEMOIN3_ORACLE 26 | # define CDEMOIN3_ORACLE 27 | 28 | #ifndef OCI_ORACLE 29 | # include 30 | #endif 31 | #endif 32 | -------------------------------------------------------------------------------- /cdemoin3.sql: -------------------------------------------------------------------------------- 1 | /* Copyright (c) Oracle Corporation 1995. All Rights Reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemoin3 - Demo program to describe an object, inherited types, object 6 | table and subtable. 7 | 8 | DESCRIPTION 9 | This program describes an object, an inherited object, methods of an 10 | object, object table and a subtable and prints out the new type level 11 | attributes, the new method level attributes and the new table level 12 | attributes. 13 | 14 | 15 | NOTES 16 | 17 | MODIFIED 18 | rdwajan 08/07/00 Created 19 | 20 | */ 21 | SET SERVEROUTPUT ON 22 | connect scott/tiger; 23 | 24 | DROP TABLE i_people_tab3; 25 | DROP TABLE i_people_tab2; 26 | DROP TABLE i_people_tab1; 27 | DROP TABLE i_employee_tab; 28 | DROP TABLE i_student_tab; 29 | DROP TABLE i_person_tab; 30 | DROP TYPE i_employee; 31 | DROP TYPE i_student; 32 | DROP TYPE i_person; 33 | DROP TYPE i_address_nest; 34 | DROP TYPE i_address_arr; 35 | DROP TYPE i_address; 36 | 37 | CREATE TYPE i_address AS OBJECT 38 | ( hno NUMBER, street VARCHAR2(10) 39 | , MEMBER FUNCTION i_address_fun(arg1 NUMBER) RETURN NUMBER 40 | ); 41 | / 42 | 43 | CREATE TYPE i_address_arr AS VARRAY(3) OF REF i_address; 44 | / 45 | 46 | CREATE TYPE i_address_nest AS TABLE OF i_address; 47 | / 48 | 49 | CREATE TYPE i_person AS OBJECT 50 | ( ssn NUMBER, adrs i_address 51 | , 52 | NOT INSTANTIABLE 53 | MEMBER PROCEDURE i_person_proc(arg1 NUMBER) 54 | ) NOT INSTANTIABLE NOT FINAL; 55 | / 56 | 57 | CREATE TYPE i_student UNDER i_person 58 | ( stud_id NUMBER, stud_add i_address_arr , 59 | OVERRIDING 60 | MEMBER PROCEDURE i_person_proc(arg1 NUMBER) 61 | ) NOT FINAL NOT INSTANTIABLE; 62 | / 63 | 64 | CREATE TYPE i_employee UNDER i_person 65 | ( emp_id NUMBER, emp_name VARCHAR2(10) , 66 | FINAL 67 | MEMBER PROCEDURE i_employee_proc(arg1 NUMBER) 68 | ) NOT FINAL NOT INSTANTIABLE; 69 | / 70 | 71 | CREATE TABLE i_person_tab OF i_person; 72 | 73 | CREATE TABLE i_student_tab OF i_student; 74 | 75 | CREATE TABLE i_employee_tab OF i_employee; 76 | 77 | CREATE TABLE i_people_tab1 (region varchar2(10), minister REF i_person); 78 | 79 | CREATE TABLE i_people_tab2 of i_address; 80 | 81 | CREATE TABLE i_people_tab3 (add_col i_address_nest) NESTED TABLE add_col STORE AS 82 | i_people_tab3_nt_tab; 83 | 84 | COMMIT; 85 | -------------------------------------------------------------------------------- /cdemolb.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemolb.sql 14-jul-99.13:52:13 mjaeger Exp $ 3 | rem 4 | rem cdemolb.sql 5 | rem 6 | rem Copyright (c) 1996, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemolb.sql - 10 | rem 11 | rem DESCRIPTION 12 | rem 13 | rem 14 | rem NOTES 15 | rem 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 19 | rem aroy 07/22/96 - SQL program to create tables for cdemolb 20 | rem aroy 07/22/96 - Created 21 | rem 22 | 23 | connect scott/tiger; 24 | DROP TABLE CLBTAB; 25 | CREATE TABLE CLBTAB (name char(20), essay CLOB); 26 | exit; 27 | 28 | -------------------------------------------------------------------------------- /cdemoqc.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: rdbms/demo/cdemoqc.sql /main/3 2008/10/23 23:36:35 dgopal Exp $ 3 | Rem 4 | Rem cdemoqc.sql 5 | Rem 6 | Rem Copyright (c) 2007, 2008, Oracle and/or its affiliates. 7 | Rem All rights reserved. 8 | Rem 9 | Rem NAME 10 | Rem cdemoqc.sql 11 | Rem 12 | Rem DESCRIPTION 13 | Rem Creates schema for query cache OCI demo cdemoqc.c 14 | Rem 15 | Rem NOTES 16 | Rem 17 | Rem 18 | Rem MODIFIED (MM/DD/YY) 19 | Rem dgopal 10/10/08 - Added a new table from cdemoqc2.c 20 | Rem dgopal 12/19/07 - Modified schema 21 | Rem dgopal 05/10/07 - Created 22 | Rem 23 | 24 | SET ECHO ON 25 | SET FEEDBACK 1 26 | SET NUMWIDTH 10 27 | SET LINESIZE 80 28 | SET TRIMSPOOL ON 29 | SET TAB OFF 30 | SET PAGESIZE 100 31 | 32 | CONNECT system/manager 33 | GRANT CONNECT, RESOURCE TO ocitest IDENTIFIED BY ocitest; 34 | 35 | CONNECT ocitest/ocitest 36 | 37 | DROP TABLE qctable; 38 | DROP TABLE ssntable; 39 | 40 | CREATE TABLE qctable (empno NUMBER, ename VARCHAR2(20), sal NUMBER); 41 | CREATE TABLE ssntable (ssn NUMBER, empno NUMBER); 42 | 43 | CREATE OR REPLACE PROCEDURE insert_val 44 | AS BEGIN 45 | for i in 1..1000 loop 46 | INSERT INTO qctable VALUES (i, 'EMP_'||i, i*100); 47 | INSERT INTO ssntable VALUES (56345000+i, i); 48 | end loop; 49 | end; 50 | / 51 | EXECUTE insert_val; 52 | 53 | COMMIT; 54 | -------------------------------------------------------------------------------- /cdemorid.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemorid.sql 14-jul-99.13:52:59 mjaeger Exp $ 3 | rem 4 | rem cdemorid.sql 5 | rem 6 | rem Copyright (c) 1998, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemorid.sql - SQL to set up cdemorid demo 10 | rem 11 | rem DESCRIPTION 12 | rem set up for testing ROWID with UPDATE 13 | rem 14 | rem NOTES 15 | rem 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 19 | rem dchatter 10/16/98 - SQL for cdemorid 20 | rem dchatter 10/16/98 - Created 21 | rem 22 | 23 | connect system/manager 24 | drop user cdemorid cascade; 25 | grant connect, resource to cdemorid identified by cdemorid; 26 | 27 | 28 | CONNECT cdemorid/cdemorid 29 | 30 | CREATE TABLE FOO (C1 INTEGER, C2 VARCHAR2(20)); 31 | 32 | INSERT INTO FOO VALUES (1, 'Row 1'); 33 | INSERT INTO FOO VALUES (2, 'Row 2'); 34 | INSERT INTO FOO VALUES (3, 'Row 3'); 35 | INSERT INTO FOO VALUES (4, 'Row 4'); 36 | INSERT INTO FOO VALUES (5, 'Row 5'); 37 | INSERT INTO FOO VALUES (6, 'Row 6'); 38 | INSERT INTO FOO VALUES (7, 'Row 7'); 39 | INSERT INTO FOO VALUES (8, 'Row 8'); 40 | INSERT INTO FOO VALUES (9, 'Row 9'); 41 | INSERT INTO FOO VALUES (10, 'Row 10'); 42 | INSERT INTO FOO VALUES (11, 'Row 11'); 43 | INSERT INTO FOO VALUES (12, 'Row 12'); 44 | INSERT INTO FOO VALUES (13, 'Row 13'); 45 | INSERT INTO FOO VALUES (14, 'Row 14'); 46 | INSERT INTO FOO VALUES (15, 'Row 15'); 47 | INSERT INTO FOO VALUES (17, 'Row 16'); 48 | INSERT INTO FOO VALUES (18, 'Row 17'); 49 | INSERT INTO FOO VALUES (19, 'Row 18'); 50 | INSERT INTO FOO VALUES (20, 'Row 19'); 51 | INSERT INTO FOO VALUES (21, 'Row 20'); 52 | 53 | COMMIT 54 | 55 | 56 | EXIT 57 | 58 | -------------------------------------------------------------------------------- /cdemort.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Header: cdemort.h 14-jul-99.12:52:18 mjaeger Exp $ 3 | */ 4 | 5 | /* Copyright (c) 1995, 1999, Oracle Corporation. All rights reserved. 6 | */ 7 | 8 | /* 9 | NAME 10 | cdemort.h 11 | 12 | DESCRIPTION 13 | This file contains the header information for the cdemort.c 14 | 15 | RELATED DOCUMENTS 16 | None. 17 | 18 | INSPECTION STATUS 19 | Inspection date: 20 | Inspection status: 21 | Estimated increasing cost defects per page: 22 | Rule sets: 23 | 24 | ACCEPTANCE REVIEW STATUS 25 | Review date: 26 | Review status: 27 | Reviewers: 28 | 29 | PUBLIC FUNCTION(S) 30 | None. 31 | 32 | PRIVATE FUNCTION(S) 33 | As defined below. 34 | 35 | EXAMPLES 36 | 37 | NOTES 38 | 39 | MODIFIED (MM/DD/YY) 40 | mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 41 | echen 11/15/96 - oci beautification 42 | dchatter 07/18/96 - delete spurious .h files 43 | echen 08/07/95 - Creation 44 | */ 45 | 46 | #ifndef CDEMO_OBJ_ORACLE 47 | #define CDEMO_OBJ_ORACLE 48 | 49 | #ifndef OCI_ORACLE 50 | #include 51 | #endif 52 | 53 | 54 | /*--------------------------------------------------------------------------- 55 | PUBLIC TYPES AND CONSTANTS 56 | ---------------------------------------------------------------------------*/ 57 | 58 | 59 | /*--------------------------------------------------------------------------- 60 | PRIVATE TYPES AND CONSTANTS 61 | ---------------------------------------------------------------------------*/ 62 | #define RUNTEST TRUE 63 | #define USERNAME "internal" 64 | #define SERVER "ORACLE" 65 | #define SCHEMA "SYS" 66 | #define ADDRESS_TYPE_NAME "ADDRESS_OBJECT" 67 | #define RETURN_ON_ERROR(error) if (error) return (error) 68 | 69 | static void unit_test_type_access(/*_ OCIEnv *envhp, OCIError *errhp, 70 | OCISvcCtx *svchp, char *type_name _*/); 71 | 72 | int main(/*_ int argc, char *argv[] _*/); 73 | 74 | #endif /* CDEMO_OBJ_ORACLE */ 75 | 76 | -------------------------------------------------------------------------------- /cdemosc.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: cdemosc.sql 03-may-2001.17:06:41 jchai Exp $ 3 | Rem 4 | Rem cdemosc.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem cdemosc.sql - Demo program for scrollable cursor. 10 | Rem 11 | Rem DESCRIPTION 12 | Rem SQL script to prepare table empo and data in the table. 13 | Rem 14 | Rem NOTES 15 | Rem Neet to run before cdemosc. 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem jchai 05/03/01 - connect as scott/tiger 19 | Rem ani 04/30/01 - Merged ani_ocidemo 20 | Rem ani 04/24/01 - Created 21 | Rem 22 | 23 | connect scott/tiger; 24 | SET FEEDBACK 1 25 | SET NUMWIDTH 10 26 | SET LINESIZE 80 27 | SET TRIMSPOOL ON 28 | SET TAB OFF 29 | SET PAGESIZE 100 30 | SET ECHO ON 31 | 32 | drop table empo 33 | / 34 | drop type evarray 35 | / 36 | drop type empaddr 37 | / 38 | 39 | create or replace type empaddr as object ( 40 | state char(2) , 41 | zip number ) 42 | / 43 | 44 | create or replace type evarray is VARRAY(2) of number 45 | / 46 | 47 | create table empo (empno number, 48 | ename char(5), 49 | addr empaddr, 50 | ecoll evarray) 51 | / 52 | 53 | insert into empo values (1, 'abc1', empaddr('ca', 94061), evarray(13,145)) 54 | / 55 | insert into empo values (2, 'abc2', empaddr('ca', 94062), evarray(23,245)) 56 | / 57 | insert into empo values (3, 'abc3', empaddr('ca', 94063), evarray(33,345)) 58 | / 59 | insert into empo values (4, 'abc4', empaddr('ca', 94064), evarray(43,445)) 60 | / 61 | insert into empo values (5, 'abc5', empaddr('ca', 94065), evarray(53,545)) 62 | / 63 | insert into empo values (6, 'abc6', empaddr('ca', 94066), evarray(63,645)) 64 | / 65 | insert into empo values (7, 'abc7', empaddr('ca', 94067), evarray(73,745)) 66 | / 67 | insert into empo values (8, 'abc8', empaddr('ca', 94068), evarray(83,85)) 68 | / 69 | insert into empo values (9, 'abc9', empaddr('ca', 94069), evarray(93,95)) 70 | / 71 | insert into empo values (10, 'abc10', empaddr('ca', 94060), evarray(103,1045)) 72 | / 73 | insert into empo values (11, 'abc11', empaddr('ca', 94070), evarray(113,1045)) 74 | / 75 | insert into empo values (12, 'abc12', empaddr('ca', 94071), evarray(123,1045)) 76 | / 77 | insert into empo values (13, 'abc13', empaddr('ca', 94072), evarray(133,1045)) 78 | / 79 | insert into empo values (14, 'abc14', empaddr('ca', 94073), evarray(143,1045)) 80 | / 81 | -------------------------------------------------------------------------------- /cdemoses.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemoses.sql 14-nov-00.18:39:03 hdnguyen Exp $ 3 | rem 4 | rem cdemoses.sql 5 | rem 6 | rem Copyright (c) 1998, 1999,, 2000 Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemoses.sql - 10 | rem 11 | rem DESCRIPTION 12 | rem 13 | rem 14 | rem NOTES 15 | rem 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem hdnguyen 11/14/00 - fixed connect internal 19 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 20 | rem lchidamb 10/14/98 - Add Primary User 21 | rem lchidamb 10/13/98 - SQL script for Session management demo 22 | rem lchidamb 10/13/98 - Created 23 | rem 24 | connect / as sysdba; 25 | drop user user0 cascade; 26 | drop user user1 cascade; 27 | drop user user2 cascade; 28 | drop user user3 cascade; 29 | drop user user4 cascade; 30 | drop user user5 cascade; 31 | drop user user6 cascade; 32 | drop user user7 cascade; 33 | drop user user8 cascade; 34 | drop user user9 cascade; 35 | 36 | drop user primary cascade; 37 | 38 | grant connect, resource to user0 identified by user0; 39 | grant connect, resource to user1 identified by user1; 40 | grant connect, resource to user2 identified by user2; 41 | grant connect, resource to user3 identified by user3; 42 | grant connect, resource to user4 identified by user4; 43 | grant connect, resource to user5 identified by user5; 44 | grant connect, resource to user6 identified by user6; 45 | grant connect, resource to user7 identified by user7; 46 | grant connect, resource to user8 identified by user8; 47 | grant connect, resource to user9 identified by user9; 48 | 49 | 50 | grant connect, resource to primary identified by primary; 51 | 52 | -------------------------------------------------------------------------------- /cdemosp.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2002, Oracle Corporation. All rights reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemosp.h - OCI Session Pool demo program header 6 | 7 | 8 | MODIFIED (MM/DD/YY) 9 | jchai 01/28/02 - Merged jchai_change_oci_sp_sc_cp_names 10 | sudsrini 01/08/02 - Merged sudsrini_enable_sp_sc_suite 11 | sudsrini 01/03/02 - Creation 12 | 13 | */ 14 | 15 | #ifndef ORATYPES 16 | # include 17 | #endif 18 | 19 | #ifndef OCI_ORACLE 20 | # include 21 | #endif 22 | 23 | #include 24 | #include 25 | #include 26 | 27 | #ifndef OCISP_ORACLE 28 | # define OCISP_ORACLE 29 | 30 | /*--------------------------------------------------------------------------- 31 | PUBLIC TYPES AND CONSTANTS 32 | ---------------------------------------------------------------------------*/ 33 | 34 | 35 | /*--------------------------------------------------------------------------- 36 | PRIVATE TYPES AND CONSTANTS 37 | ---------------------------------------------------------------------------*/ 38 | 39 | 40 | /*--------------------------------------------------------------------------- 41 | EXPORT FUNCTIONS 42 | ---------------------------------------------------------------------------*/ 43 | 44 | int main (void); 45 | 46 | /*--------------------------------------------------------------------------- 47 | INTERNAL FUNCTIONS 48 | ---------------------------------------------------------------------------*/ 49 | 50 | 51 | #endif /* OCISP_ORACLE */ 52 | -------------------------------------------------------------------------------- /cdemostc.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2002, Oracle Corporation. All rights reserved. */ 2 | 3 | /* 4 | NAME 5 | cdemostc.h - OCI Statement caching 6 | 7 | 8 | MODIFIED (MM/DD/YY) 9 | sudsrini 01/30/02 - Rename ocisc -> cdemostc 10 | gkirsur 01/25/02 - Merged gkirsur_stcache_tests 11 | sudsrini 01/24/02 - Removed argc and argv from main definition 12 | sprabhak 01/22/02 - Incorporated Review comments 13 | sprabhak 01/10/02 - Creation 14 | 15 | */ 16 | 17 | #ifndef ORATYPES 18 | # include 19 | #endif 20 | 21 | #ifndef OCI_ORACLE 22 | # include 23 | #endif 24 | 25 | #include 26 | #include 27 | #include 28 | 29 | #ifndef OCISC_ORACLE 30 | # define OCISC_ORACLE 31 | 32 | /*--------------------------------------------------------------------------- 33 | PUBLIC TYPES AND CONSTANTS 34 | ---------------------------------------------------------------------------*/ 35 | 36 | 37 | /*--------------------------------------------------------------------------- 38 | PRIVATE TYPES AND CONSTANTS 39 | ---------------------------------------------------------------------------*/ 40 | 41 | 42 | /*--------------------------------------------------------------------------- 43 | EXPORT FUNCTIONS 44 | ---------------------------------------------------------------------------*/ 45 | 46 | 47 | /*--------------------------------------------------------------------------- 48 | INTERNAL FUNCTIONS 49 | ---------------------------------------------------------------------------*/ 50 | 51 | int main(void); 52 | static void checkerr (OCIError *errhp, sword status); 53 | static void queryRows(OCISvcCtx *svchp); 54 | 55 | #endif /* OCISC_ORACLE */ 56 | -------------------------------------------------------------------------------- /cdemosyex.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemosyex.sql 14-nov-00.18:39:15 hdnguyen Exp $ 3 | rem 4 | rem cdemosyex.sql 5 | rem 6 | rem Copyright (c) 1998, 1999,, 2000 Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemosyex.sql - C DEMO for executing SYstem EVents 10 | rem 11 | rem DESCRIPTION 12 | rem This SQL script causes the triggers, defined in cdemosyev.sql, 13 | rem to fire. This results in enqueueing of message(s) into queue(s). 14 | rem If there are subscription defined on the queue that are satisfied, 15 | rem a list of recipients are computed. All registered recipients are 16 | rem notified by invoking callback functions. 17 | rem 18 | rem NOTES 19 | rem 20 | rem 21 | rem MODIFIED (MM/DD/YY) 22 | rem hdnguyen 11/14/00 - fixed connect internal 23 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 24 | rem sasuri 11/23/98 - add shutdown notification 25 | rem sasuri 06/16/98 - system event demo files 26 | rem sasuri 06/16/98 - Created 27 | rem 28 | 29 | connect event/event 30 | drop table foo; 31 | create table foo(n number); 32 | drop table foo; 33 | connect foo/bar 34 | connect pubsub/pubsub 35 | drop table foo; 36 | create table foo(n number); 37 | drop table foo; 38 | disconnect 39 | connect / as sysdba 40 | shutdown 41 | connect / as sysdba 42 | startup 43 | shutdown 44 | -------------------------------------------------------------------------------- /cdemoucb.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: cdemoucb.sql 10-apr-2007.18:07:12 azhao Exp $ 3 | rem 4 | rem cdemoucb.sql 5 | rem 6 | rem Copyright (c) 1998, 2007, Oracle. All rights reserved. 7 | rem 8 | rem NAME 9 | rem cdemoucb.sql - 10 | rem 11 | rem DESCRIPTION 12 | rem 13 | rem 14 | rem NOTES 15 | rem 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem azhao 04/10/07 - case sensitive password 19 | rem hdnguyen 11/14/00 - fixed connect internal 20 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 21 | rem bgoyal 10/16/98 - Sql for cdemoucb.c 22 | rem bgoyal 10/16/98 - Created 23 | rem 24 | connect / as sysdba; 25 | drop user cdemoucb cascade; 26 | grant connect, resource to cdemoucb identified by CDEMOUCB; 27 | 28 | -------------------------------------------------------------------------------- /cdemoupk.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: cdemoupk.sql 10-apr-2007.18:07:13 azhao Exp $ 3 | Rem 4 | Rem cdemoupk.sql 5 | Rem 6 | Rem Copyright (c) 2004, 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem cdemoupk.sql - create user for cdemooupk 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem azhao 04/10/07 - case sensitive password 19 | Rem jchai 03/23/04 - jchai_add_cdemoucb_cdempupk_shiptest 20 | Rem jchai 03/18/04 - Created 21 | Rem 22 | 23 | SET ECHO ON 24 | SET FEEDBACK 1 25 | SET NUMWIDTH 10 26 | SET LINESIZE 80 27 | SET TRIMSPOOL ON 28 | SET TAB OFF 29 | SET PAGESIZE 100 30 | connect system/manager; 31 | drop user cdemoupk cascade; 32 | grant connect, resource to cdemoupk identified by CDEMOUPK; 33 | 34 | 35 | -------------------------------------------------------------------------------- /clobdemo.dat: -------------------------------------------------------------------------------- 1 | This is .dat file for clob demo. This .dat file content will be 2 | printed using lob stream interface . If these contents are 3 | printed properly, this demo program is working well. 4 | Otherwise there is a problem in printing. Hope this demo will 5 | work properly. 6 | 7 | -------------------------------------------------------------------------------- /dattime1.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: rdbms/demo/dattime1.sql /main/3 2009/07/04 16:43:57 wezhu Exp $ 3 | Rem 4 | Rem dattime1.sql 5 | Rem 6 | Rem Copyright (c) 2007, 2009, Oracle and/or its affiliates. 7 | Rem All rights reserved. 8 | Rem 9 | Rem NAME 10 | Rem dattime1.sql - create table with 5 different data type 11 | Rem TIMESTAMP 12 | Rem TIMESTAMP WITH TIME ZONE 13 | Rem TIMESTAMP WITH LOCAL TIME ZONE 14 | Rem INTERVAL YEAR TO MONTH 15 | Rem INTERVAL DAY TO SECOND 16 | Rem 17 | Rem DESCRIPTION 18 | Rem 19 | Rem 20 | Rem NOTES 21 | Rem 22 | Rem 23 | Rem MODIFIED (MM/DD/YY) 24 | Rem wezhu 07/01/09 - add default session time zone 25 | Rem chli 04/09/07 - fix password issue 26 | Rem jxfan 04/10/01 - Merged jxfan_demo 27 | Rem jxfan 04/10/01 - Created 28 | Rem 29 | 30 | SET FEEDBACK 1 31 | SET NUMWIDTH 10 32 | SET LINESIZE 80 33 | SET TRIMSPOOL ON 34 | SET TAB OFF 35 | SET PAGESIZE 100 36 | SET ECHO OFF 37 | 38 | COL c1 FORMAT A30 39 | COL c2 FORMAT A48 40 | COL c3 FORMAT A30 41 | COL c4 FORMAT A48 42 | COL c5 FORMAT A30 43 | 44 | COL c1 HEADING TIMESTAMP 45 | COL c2 HEADING "TIMESTAMP WITH TIME ZONE" 46 | COL c3 HEADING "TIMESTAMP WITH LOCAL TIME ZONE" 47 | COL c4 HEADING "INTERVAL YEAR TO MONTH" 48 | COL c5 HEADING "INTERVAL DAY TO SECOND" 49 | 50 | CONNECT oe/oe 51 | 52 | ALTER SESSION SET time_zone = 'US/Pacific'; 53 | 54 | CREATE TABLE dattime ( 55 | c1 TIMESTAMP, 56 | c2 TIMESTAMP WITH TIME ZONE, 57 | c3 TIMESTAMP WITH LOCAL TIME ZONE, 58 | c4 INTERVAL YEAR TO MONTH, 59 | c5 INTERVAL DAY TO SECOND); 60 | 61 | INSERT INTO dattime 62 | VALUES ( TIMESTAMP'1980-1-12 15:13:23.33', 63 | TIMESTAMP'2000-10-28 11:26:38 AMERICA/LOS_ANGELES', 64 | TIMESTAMP'1985-3-1 1:11:11.11', 65 | INTERVAl '1-2' YEAR TO MONTH, 66 | INTERVAL '90 00:00:00' DAY TO SECOND); 67 | 68 | INSERT INTO dattime 69 | VALUES (TO_TIMESTAMP('08-11-83 3:43:55.49','DD-MM-RR HH24:MI:SSXFF'), 70 | TO_TIMESTAMP_TZ('2-4-58 14:2:56.18+8:53','DD-MM-RR HH24:MI:SSXFFTZH:TZM'), 71 | TO_TIMESTAMP('12-8-38 1:2:56.1','DD-MM-RR HH24:MI:SSXFF'), 72 | TO_YMINTERVAL('02-03'), 73 | TO_DSINTERVAL('65 10:00:00')); 74 | 75 | 76 | SELECT * FROM dattime; 77 | 78 | DROP TABLE dattime; 79 | 80 | -------------------------------------------------------------------------------- /dattime2.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: dattime2.sql 10-apr-2001.15:02:35 jxfan Exp $ 3 | Rem 4 | Rem dattime2.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem dattime2.sql - Daylight Saving Time (DST) 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem jxfan 04/10/01 - Merged jxfan_demo 19 | Rem jxfan 04/10/01 - Created 20 | Rem 21 | 22 | SET FEEDBACK 1 23 | SET NUMWIDTH 10 24 | SET LINESIZE 80 25 | SET TRIMSPOOL ON 26 | SET TAB OFF 27 | SET PAGESIZE 100 28 | SET ECHO OFF 29 | 30 | CONNECT OE/OE 31 | 32 | PROMPT Calculate Daylight Saving Time (DST) when the session TIME_ZONE is a region 33 | PROMPT 34 | SET ECHO ON 35 | UPDATE orders 36 | SET order_date = TIMESTAMP '2000-4-1 23:24:54 AMERICA/LOS_ANGELES' 37 | WHERE order_id = 2457; 38 | ALTER SESSION SET TIME_ZONE='AMERICA/LOS_ANGELES'; 39 | SELECT order_date + INTERVAL '8' HOUR FROM orders 40 | WHERE order_id = 2457; 41 | 42 | SET ECHO OFF 43 | PROMPT 44 | PAUSE Press enter to continue ... 45 | PROMPT 46 | PROMPT The time period from 02:00:00 AM to 02:59:59 AM does not exist 47 | PROMPT during APRIL boundary 48 | PROMPT 49 | 50 | SET ECHO ON 51 | UPDATE orders 52 | SET order_date = TIMESTAMP'2000-04-02 02:30:30 AMERICA/LOS_ANGELES' 53 | WHERE order_id = 2457; 54 | 55 | SET ECHO OFF 56 | PROMPT 57 | PROMPT 58 | PAUSE Press enter to continue ... 59 | PROMPT 60 | PROMPT The time period from 01:00:01 AM to 02:00:00 AM is repeated during 61 | PROMPT OCTOBER boundary 62 | PROMPT 63 | 64 | SET ECHO ON 65 | ALTER SESSION SET ERROR_ON_OVERLAP_TIME = TRUE; 66 | 67 | UPDATE orders 68 | SET order_date = TIMESTAMP '2000-10-29 01:00:01 AMERICA/LOS_ANGELES' 69 | WHERE order_id = 2457; 70 | 71 | 72 | -------------------------------------------------------------------------------- /dattime3.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: dattime3.sql 09-apr-2007.15:52:50 chli Exp $ 3 | Rem 4 | Rem dattime3.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem dattime3.sql - Using Built-in SQL function 10 | Rem TO_YMINTERVAL(); 11 | Rem TO_DSINTERVAL(); 12 | Rem 13 | Rem DESCRIPTION 14 | Rem 15 | Rem 16 | Rem NOTES 17 | Rem 18 | Rem 19 | Rem MODIFIED (MM/DD/YY) 20 | Rem chli 04/09/07 - lowercase password 21 | Rem jxfan 04/10/01 - Merged jxfan_demo 22 | Rem jxfan 04/10/01 - Created 23 | Rem 24 | 25 | SET FEEDBACK 1 26 | SET NUMWIDTH 10 27 | SET LINESIZE 80 28 | SET TRIMSPOOL ON 29 | SET TAB OFF 30 | SET PAGESIZE 100 31 | SET ECHO OFF 32 | 33 | COL employee_id FORMAT 9999 34 | COL first_name FORMAT A20 35 | COL last_name FORMAT A20 36 | COL employee_id HEADING ID 37 | COL first_name HEADING "FIRST NAME" 38 | COL last_name HEADING "LAST NAME" 39 | COL hire_date HEADING "HIRE DATE" 40 | CONNECT HR/hr 41 | 42 | PROMPT 43 | PROMPT 44 | PROMPT Add 1 year 2 months to hire date by using Built-in SQL function TO_YMINTERVAL 45 | PROMPT 46 | PROMPT 47 | 48 | SELECT employee_id, first_name, last_name, hire_date, 49 | hire_date + TO_YMINTERVAL('01-02') "NEW DATE" 50 | FROM employees 51 | WHERE department_id = 30; 52 | 53 | PROMPT 54 | PROMPT 55 | rem PAUSE Press enter to continue ... 56 | PROMPT 57 | PROMPT Subtract 10 days from hire date by using Built-in SQL function TO_DSINTERVAL 58 | PROMPT 59 | PROMPT 60 | 61 | SELECT employee_id, first_name, last_name, hire_date, 62 | hire_date - TO_DSINTERVAL('10 00:00:00') "NEW DATE" 63 | FROM employees 64 | WHERE department_id = 30; 65 | 66 | PROMPT 67 | PROMPT 68 | rem PAUSE Press enter to continue ... 69 | PROMPT 70 | PROMPT Add 24 hours to hire date using INTERVAL 71 | PROMPT 72 | PROMPT 73 | SELECT employee_id, first_name, last_name, hire_date, 74 | hire_date + INTERVAL '24' HOUR "NEW DATE" 75 | FROM employees 76 | WHERE department_id = 30; 77 | PROMPT 78 | PROMPT 79 | 80 | -------------------------------------------------------------------------------- /dmshgrants.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | -- 3 | -- $Header: dmshgrants.sql 28-aug-2007.07:35:51 xbarr Exp $ 4 | -- 5 | -- dmshgrants.sql 6 | -- 7 | -- Copyright (c) 2001, 2005, Oracle. All rights reserved. 8 | -- 9 | -- NAME 10 | -- dmshgrants.sql 11 | -- 12 | -- DESCRIPTION 13 | -- This script grants SELECT on SH tables and SYS privileges 14 | -- required to run the Oracle Data Mining demo programs 15 | -- 16 | -- The script is to be run in SYS account 17 | -- 18 | -- NOTES 19 | -- &&1 Name of the DM user 20 | -- 21 | -- MODIFIED (MM/DD/YY) 22 | -- xbarr 08/28/07 - fix security bug 6367775 23 | -- pstengar 07/05/06 - add create mining model privilege 24 | -- ktaylor 07/11/05 - Minor edits to comments 25 | -- xbarr 12/20/04 - add privileges required by DM demo 26 | -- cbhagwat 10/10/03 - creation 27 | -- 28 | -------------------------------------------------------------------------------- 29 | DEFINE DMUSER = &&1 30 | 31 | GRANT create procedure to &DMUSER 32 | / 33 | grant create session to &DMUSER 34 | / 35 | grant create table to &DMUSER 36 | / 37 | grant create sequence to &DMUSER 38 | / 39 | grant create view to &DMUSER 40 | / 41 | grant create job to &DMUSER 42 | / 43 | grant create type to &DMUSER 44 | / 45 | grant create synonym to &DMUSER 46 | / 47 | grant create mining model to &DMUSER 48 | / 49 | grant execute on ctxsys.ctx_ddl to &DMUSER 50 | / 51 | 52 | GRANT SELECT ON sh.customers TO &DMUSER 53 | / 54 | GRANT SELECT ON sh.sales TO &DMUSER 55 | / 56 | GRANT SELECT ON sh.products TO &DMUSER 57 | / 58 | GRANT SELECT ON sh.supplementary_demographics TO &DMUSER 59 | / 60 | GRANT SELECT ON sh.countries TO &DMUSER 61 | / 62 | -------------------------------------------------------------------------------- /epgdemo.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: epgdemo.sql 02-nov-2006.11:39:35 rpang Exp $ 3 | Rem 4 | Rem epgdemo.sql 5 | Rem 6 | Rem Copyright (c) 2006, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem epgdemo.sql - Demo program for the embedded PL/SQL gateway 10 | Rem 11 | Rem DESCRIPTION 12 | Rem This is a sample program to demonstrate the usage of the embedded 13 | Rem PL/SQL gateway. 14 | Rem 15 | Rem NOTES 16 | Rem This demo requires Oracle XML DB installed and the demo account SCOTT. 17 | Rem 18 | Rem To execute this demo, you need to start the XML DB HTTP listener and 19 | Rem to unlock the database account "anonymous". 20 | Rem 21 | Rem > sqlplus system/ 22 | Rem 23 | Rem SQL> Rem Start XML DB HTTP listener: 24 | Rem SQL> exec dbms_xdb.setHttpPort(8080); 25 | Rem 26 | Rem SQL> Rem Unlock the database account "anonymous": 27 | Rem SQL> alter user anonymous account unlock; 28 | Rem 29 | Rem Then, execute this demo script to set up the database access 30 | Rem descriptor (DAD) and to create the demo program in the account SCOTT: 31 | Rem 32 | Rem SQL> @epgdemo.sql 33 | Rem 34 | Rem Then, open the URL http://:8080/demo/plsql/hello 35 | Rem 36 | Rem *** Security notes *** 37 | Rem This demo requires the database account "anonymous" to be unlocked 38 | Rem so that the demo program "hello" can be accessed from the browser 39 | Rem without authentication. You should ensure that all XML DB repository 40 | Rem resources and servlets which are not intended for unauthenticated 41 | Rem access are properly secured. Please refer to the XML DB documentation 42 | Rem on protecting its repository resources and servlets. 43 | Rem ********************** 44 | Rem 45 | Rem MODIFIED (MM/DD/YY) 46 | Rem rpang 11/02/06 - Created 47 | Rem 48 | 49 | SET ECHO ON 50 | SET FEEDBACK 1 51 | SET NUMWIDTH 10 52 | SET LINESIZE 80 53 | SET TRIMSPOOL ON 54 | SET TAB OFF 55 | SET PAGESIZE 100 56 | 57 | Rem Set up the database access descriptor (DAD) as SYSTEM 58 | 59 | begin 60 | dbms_epg.create_dad('DemoDAD', '/demo/plsql/*'); 61 | dbms_epg.set_dad_attribute('DemoDAD', 'database-username', 'SCOTT'); 62 | end; 63 | / 64 | 65 | Rem Create the demo program as SCOTT 66 | 67 | connect scott/tiger 68 | 69 | begin 70 | /* Authorize DemoDAD to use my schema and my privileges */ 71 | dbms_epg.authorize_dad('DemoDAD'); 72 | end; 73 | / 74 | 75 | create or replace procedure hello is 76 | begin 77 | /* Generate "Hello, World!" in HTML */ 78 | htp.print('Hello, World!'); 79 | end; 80 | / 81 | -------------------------------------------------------------------------------- /extdemo0.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: extdemo0.sql 14-jul-99.13:55:39 mjaeger Exp $ 3 | rem 4 | rem extdemo0.sql 5 | rem 6 | rem Copyright (c) 1998, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem extdemo0.sql - explain plan script 10 | rem 11 | rem DESCRIPTION 12 | rem This file contains the SQL statements to print 13 | rem the output of explain plan. 14 | rem 15 | rem NOTES 16 | rem 17 | rem 18 | rem MODIFIED (MM/DD/YY) 19 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 20 | rem hdnguyen 07/26/99 - sqlplus conversion 21 | rem rmurthy 09/25/98 - minor changes 22 | rem rmurthy 07/15/98 - extensibility - explain plan script 23 | rem rmurthy 07/15/98 - Created 24 | 25 | SELECT operation operations, 26 | decode(options, 'BY INDEX ROWID', 'BY ROWID', 27 | 'BY USER ROWID', 'BY ROWID', 28 | options) options, 29 | object_name 30 | FROM plan_table 31 | ORDER BY id; 32 | 33 | TRUNCATE TABLE plan_table; 34 | 35 | -------------------------------------------------------------------------------- /extdemo3a.java: -------------------------------------------------------------------------------- 1 | /* $Header: extdemo3a.java 30-mar-2006.18:38:05 yhu Exp $ */ 2 | 3 | /* Copyright (c) 1999, 2006, Oracle. All rights reserved. */ 4 | 5 | /* 6 | DESCRIPTION 7 | extdemo3a.java - class that holds the ResultSet and PreparedStatment 8 | to be stored in CartridgeServices context 9 | 10 | MODIFIED (MM/DD/YY) 11 | yhu 03/30/06 - remove dependencies on classes12 12 | rshaikh 06/24/99 - 13 | rshaikh 06/23/99 - create 14 | rshaikh 06/23/99 - Creation 15 | */ 16 | 17 | /** 18 | * @version $Header: extdemo3a.java 30-mar-2006.18:38:05 yhu Exp $ 19 | * @author rshaikh 20 | * @since release specific (what release of product did this appear in) 21 | */ 22 | import java.sql.SQLException; 23 | import java.sql.Connection; 24 | import oracle.jdbc.OracleTypes; 25 | import oracle.sql.ORAData; 26 | import oracle.sql.ORADataFactory; 27 | import oracle.sql.Datum; 28 | import oracle.sql.STRUCT; 29 | import oracle.jpub.runtime.MutableStruct; 30 | 31 | import java.lang.*; 32 | import java.sql.*; 33 | import oracle.*; 34 | import oracle.sql.*; 35 | import oracle.jdbc.*; 36 | import sqlj.runtime.ref.DefaultContext; 37 | import sqlj.runtime.ConnectionContext; 38 | 39 | public class extdemo3a 40 | { 41 | OracleResultSet rs; 42 | PreparedStatement stmt; 43 | 44 | public extdemo3a(OracleResultSet r, PreparedStatement s) 45 | { 46 | rs=r; 47 | stmt=s; 48 | } 49 | 50 | public OracleResultSet getRs(){ return rs;} 51 | public PreparedStatement getStmt() {return stmt;} 52 | public void setRs(OracleResultSet r) {rs=r;} 53 | public void setStmt(PreparedStatement s) {stmt=s;} 54 | 55 | } 56 | 57 | -------------------------------------------------------------------------------- /fgacdemo.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/fgacdemo.sql -------------------------------------------------------------------------------- /giffile.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/giffile.dat -------------------------------------------------------------------------------- /mdemo1.cpp: -------------------------------------------------------------------------------- 1 | #include "mdemo1.h" 2 | #include "mdemo1m.h" 3 | 4 | // global Oracle variables 5 | 6 | Environment *env; 7 | Connection *conn; 8 | Statement *stmt; 9 | ResultSet *rs; 10 | 11 | void initialize() { 12 | 13 | // Create environment 14 | env = Environment::createEnvironment(Environment::OBJECT); 15 | 16 | // Call the OTT generated function to register the mappings 17 | mdemo1m(env); 18 | 19 | // Create Connection 20 | conn = env->createConnection( USERNAME, PASSWORD ); 21 | 22 | // Create a statement 23 | stmt = conn->createStatement(); 24 | } 25 | 26 | void terminateit() { 27 | 28 | //Terminate statement 29 | conn->terminateStatement(stmt); 30 | 31 | //Terminate connection 32 | env->terminateConnection(conn); 33 | 34 | //Terminate environment 35 | Environment::terminateEnvironment(env); 36 | } 37 | 38 | /* Do the work. 39 | The environment is set up. 40 | A single new entry is created in the Address table. 41 | Then it is committed. 42 | */ 43 | void dowrite() { 44 | 45 | // Create an Address 46 | ADDRESS_O *addr1 = new(conn, "ADDR_TAB") ADDRESS_O("GE", "1211"); 47 | Ref addr1_ref = (Ref) addr1->getRef(); 48 | 49 | // Create joe black 50 | FullName *name1= new FullName("Joe", "Black"); 51 | 52 | Person *person1 = 53 | new(conn, "PERSON_TAB") Person(1,name1,addr1_ref); 54 | Ref person1_ref = (Ref) person1->getRef(); 55 | 56 | // Display, using reference 57 | cout<<"-------------------"<displayInfo(); 59 | cout<<"-------------------"<commit(); 63 | 64 | } 65 | 66 | void doread() 67 | { 68 | // Retrieve joe black 69 | string sel_joe = "SELECT REF(p) from person_tab p where \"id\" = 1"; 70 | 71 | rs =stmt->executeQuery (sel_joe); 72 | 73 | // Get reference 74 | rs->next(); 75 | Ref joe_ref = (Ref) rs->getRef(1); 76 | 77 | // Display, using reference 78 | cout<<"-------------------"<displayInfo(); 80 | cout<<"-------------------"<closeResultSet(rs); 82 | 83 | } 84 | 85 | int main() { 86 | 87 | try { 88 | initialize(); 89 | dowrite(); 90 | doread(); 91 | terminateit(); 92 | } 93 | catch (SQLException &e) { 94 | cout << "SQL exception :" << e.getMessage() << endl; 95 | } 96 | 97 | return 0; 98 | } 99 | -------------------------------------------------------------------------------- /mdemo1.sql: -------------------------------------------------------------------------------- 1 | connect scott/tiger; 2 | 3 | DROP TABLE PERSON_TAB; 4 | DROP TABLE ADDR_TAB; 5 | DROP TYPE PERSON_O; 6 | DROP TYPE ADDRESS_O; 7 | DROP TYPE FULL_NAME_O; 8 | 9 | 10 | CREATE TYPE ADDRESS_O AS OBJECT ( 11 | "state" CHAR(20), 12 | "zip" CHAR(20) 13 | ) 14 | / 15 | 16 | CREATE TABLE ADDR_TAB OF ADDRESS_O; 17 | 18 | CREATE TYPE FULL_NAME_O AS OBJECT ( 19 | "first_name" CHAR(20), 20 | "last_name" CHAR(20) 21 | ) 22 | / 23 | 24 | CREATE TYPE PERSON_O AS OBJECT ( 25 | "id" integer, 26 | "name" FULL_NAME_O, 27 | "addr" REF ADDRESS_O 28 | ) 29 | / 30 | 31 | 32 | CREATE TABLE PERSON_TAB OF PERSON_O; 33 | 34 | QUIT; 35 | -------------------------------------------------------------------------------- /mdemo1.typ: -------------------------------------------------------------------------------- 1 | CASE=SAME 2 | MAPFILE=mdemo1m.cpp 3 | TYPE FULL_NAME_O 4 | GENERATE FULL_NAME_O AS FullName 5 | TYPE ADDRESS_O 6 | TYPE PERSON_O 7 | GENERATE PERSON_O AS Person 8 | -------------------------------------------------------------------------------- /mymdemo1.h: -------------------------------------------------------------------------------- 1 | # include 2 | 3 | #define USERNAME "scott" 4 | #define PASSWORD "tiger" 5 | 6 | using namespace oracle::occi; 7 | using namespace std; 8 | 9 | -------------------------------------------------------------------------------- /nchdemo1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/nchdemo1.c -------------------------------------------------------------------------------- /nlsdemo1.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: nlsdemo1.sql 23-jul-2003.11:27:27 chli Exp $ 3 | Rem 4 | Rem nlsdemo1.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem nlsdemo1.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem to continue 40 | SELECT * FROM PRODUCT_DESCRIPTIONS 41 | ORDER BY TRANSLATED_NAME; 42 | 43 | rem pause The following three ALTER statements change the sort setting to Generic_M linguistic sort 44 | 45 | ALTER SESSION SET NLS_COMP=ANSI; 46 | 47 | ALTER SESSION SET NLS_SORT='GENERIC_M'; 48 | 49 | ALTER SESSION SET QUERY_REWRITE_ENABLED=TRUE; 50 | 51 | rem pause Now you will see the generic_m sorting result for Translated_name NVARCHAR2 Column, Please press to continue 52 | 53 | SELECT * FROM PRODUCT_DESCRIPTIONS 54 | WHERE TRANSLATED_NAME > UNISTR('\0000') 55 | ORDER BY TRANSLATED_NAME; 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /nlsdemo2.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: nlsdemo2.sql 23-jul-2003.11:28:40 chli Exp $ 3 | Rem 4 | Rem nlsdemo2.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem nlsdemo2.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem chli 07/23/03 - 19 | Rem huwang 02/22/01 - Merged huwang_nlsdemo 20 | Rem huwang 02/22/01 - Created 21 | Rem 22 | 23 | SET FEEDBACK 1 24 | SET NUMWIDTH 10 25 | SET LINESIZE 80 26 | SET TRIMSPOOL ON 27 | SET TAB OFF 28 | SET PAGESIZE 100 29 | SET ECHO ON 30 | 31 | REM Create Policy Function 32 | 33 | CONNECT OE/OE 34 | 35 | DROP FUNCTION secure_person; 36 | 37 | CREATE OR REPLACE FUNCTION secure_person ( object_schema IN VARCHAR2, object_name IN VARCHAR2) return VARCHAR2 IS 38 | BEGIN 39 | RETURN( 'language_id=SYS_CONTEXT(''USERENV'',''LANG'')'); 40 | END; 41 | / 42 | 43 | SHOW ERRORS 44 | 45 | REM Add and Enable The Policy 46 | 47 | Prompt Please enter the password for User SYS 48 | 49 | connect sys/change_on_install as sysdba 50 | 51 | BEGIN 52 | DBMS_RLS.DROP_POLICY('OE','PRODUCT_DESCRIPTIONS','NCHARFEATURE'); 53 | END; 54 | / 55 | 56 | BEGIN 57 | DBMS_RLS.ADD_POLICY('OE','PRODUCT_DESCRIPTIONS','NCHARFEATURE','OE','SECURE_PERSON','SELECT'); 58 | END; 59 | / 60 | 61 | -------------------------------------------------------------------------------- /nlsdemo3.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: nlsdemo3.sql 23-jul-2003.11:29:13 chli Exp $ 3 | Rem 4 | Rem nlsdemo3.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem nlsdemo3.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem Using fine gained access control to show only chinese data in 3 different sorting mode: Generic_m, stroke and Pinyin 13 | Rem NOTES 14 | Rem We suppose to show chinese data , please set NLS_LANG to 'Simplified Chinese_China.zhs16gbk' 15 | Rem Before you run this sql file, please run nlsdemo2.sql so that you can see the fine gained access control demo 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem chli 07/23/03 - 19 | Rem huwang 02/22/01 - Merged huwang_nlsdemo 20 | Rem huwang 02/22/01 - Created 21 | Rem 22 | 23 | SET FEEDBACK 1 24 | SET NUMWIDTH 10 25 | SET LINESIZE 80 26 | SET TRIMSPOOL ON 27 | SET TAB OFF 28 | SET PAGESIZE 100 29 | SET ECHO ON 30 | 31 | 32 | REM 33 | REM Before you run the sql file, you must run nlsdemo2.sql 34 | REM Please don't Forget to set NLS_LANG to 'Simplified Chinese_China.zhs16gbk' 35 | REM 36 | 37 | CONNECT OE/OE 38 | 39 | COL LANGUANE_ID FORMAT A3 40 | COL TRANSLATED_NAME FORMAT A20 41 | COL TRANSLATED_DESCRIPTION FORMAT A20 42 | 43 | SET AUTOTRACE ON EXPLAIN 44 | 45 | ALTER SESSION SET NLS_COMP=ANSI; 46 | 47 | ALTER SESSION SET QUERY_REWRITE_ENABLED=TRUE; 48 | 49 | rem pause You will see the Generic_M sorting result for only Chinese translated name 50 | 51 | ALTER SESSION SET NLS_SORT=GENERIC_M; 52 | 53 | SELECT * FROM Product_descriptions WHERE translated_name > UNISTR('\0000') ORDER BY translated_name; 54 | 55 | rem pause You will see the Storke sorting result for only Chinese translated name 56 | 57 | ALTER SESSION SET NLS_SORT=SCHINESE_STROKE_M; 58 | 59 | SELECT * FROM Product_descriptions WHERE translated_name > UNISTR('\0000') ORDER BY translated_name; 60 | 61 | rem pause You will see the Pinyin sorting result for only Chinese translated name 62 | 63 | ALTER SESSION SET NLS_SORT=SCHINESE_PINYIN_M; 64 | 65 | SELECT * FROM Product_descriptions WHERE translated_name > UNISTR('\0000') ORDER BY translated_name; 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /nlsdemo4.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: nlsdemo4.sql 23-jul-2003.11:29:59 chli Exp $ 3 | Rem 4 | Rem nlsdemo4.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem nlsdemo3.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem Using fine gained access control to show only one language data which is depending on your NLS_LANG setting 13 | Rem Say, if you set NLS_LANG to japanese_japan.ja16sjis, only japanese data is shown, if you set NLS_LANG to 'Simplified Chinese 14 | Rem _china.zhs16cgb231280', only chinese data is shown 15 | Rem NOTES 16 | Rem Before you run this sql file, please run nlsdemo2.sql so that you can see the fine gained access control demo 17 | Rem 18 | Rem MODIFIED (MM/DD/YY) 19 | Rem chli 07/23/03 - 20 | Rem huwang 02/22/01 - Merged huwang_nlsdemo 21 | Rem huwang 02/22/01 - Created 22 | Rem 23 | 24 | SET FEEDBACK 1 25 | SET NUMWIDTH 10 26 | SET LINESIZE 80 27 | SET TRIMSPOOL ON 28 | SET TAB OFF 29 | SET PAGESIZE 100 30 | SET ECHO ON 31 | 32 | 33 | REM 34 | REM Before you run the sql file, you must run nlsdemo2.sql 35 | REM Please don't Forget to set NLS_LANG to what you want 36 | REM 37 | 38 | CONNECT OE/OE 39 | 40 | COL LANGUANE_ID FORMAT A3 41 | COL TRANSLATED_NAME FORMAT A20 42 | COL TRANSLATED_DESCRIPTION FORMAT A20 43 | 44 | SET AUTOTRACE ON EXPLAIN 45 | 46 | rem pause You will see only one language data 47 | 48 | SELECT * FROM Product_descriptions; 49 | 50 | -------------------------------------------------------------------------------- /nlsdemo5.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: nlsdemo5.sql 23-jul-2003.11:34:27 chli Exp $ 3 | Rem 4 | Rem nlsdemo5.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem nlsdemo5.sql - 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem huwang 02/22/01 - Merged huwang_nlsdemo 19 | Rem huwang 02/22/01 - Created 20 | Rem 21 | 22 | SET FEEDBACK 1 23 | SET NUMWIDTH 10 24 | SET LINESIZE 80 25 | SET TRIMSPOOL ON 26 | SET TAB OFF 27 | SET PAGESIZE 100 28 | SET ECHO ON 29 | 30 | REM Clean the indexes and Policy for the demo 31 | 32 | Prompt Please enter the password for User SYS 33 | 34 | connect sys/change_on_install as sysdba 35 | 36 | BEGIN 37 | DBMS_RLS.DROP_POLICY('OE','PRODUCT_DESCRIPTIONS','NCHARFEATURE'); 38 | END; 39 | / 40 | 41 | CONNECT OE/OE 42 | 43 | DROP FUNCTION secure_person; 44 | 45 | Delete from product_descriptions where language_id in ('D','ZHS') and product_id in (2728,2729,2730,2731,2732); 46 | 47 | Delete from product_information where product_id in (2728,2729,2730,2731,2732); 48 | 49 | DROP INDEX NLS_GENERIC; 50 | 51 | DROP INDEX NLS_ZHSSTROKE; 52 | 53 | DROP INDEX NLS_ZHSPINYIN; 54 | 55 | DROP TABLE PLAN_TABLE; 56 | 57 | 58 | -------------------------------------------------------------------------------- /occiaqop.typ: -------------------------------------------------------------------------------- 1 | CASE=SAME 2 | MAPFILE=occiaqopm.cpp 3 | TYPE hr_obj as hr_obj 4 | -------------------------------------------------------------------------------- /occidemod.sql: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2002, 2003, Oracle Corporation. All rights reserved. */ 2 | 3 | /* 4 | NAME 5 | occidemod - SQL Script to drop OCCI demo objects 6 | 7 | DESCRIPTION 8 | SQL Script to drop OCCI demo objects created by occidemo.sql 9 | To be run in the end to drop OCCI demo objects from HR schema 10 | 11 | MODIFIED 12 | sudsrini 03/06/03 - sudsrini_occi_10ir1_demos 13 | sudsrini 02/21/03 - Created 14 | 15 | */ 16 | 17 | connect hr/hr 18 | 19 | DROP PROCEDURE demo_proc; 20 | DROP FUNCTION demo_fun; 21 | 22 | DROP TABLE elements; 23 | DROP TABLE author_tab; 24 | DROP TABLE publisher_tab; 25 | DROP TABLE publ_address_tab; 26 | DROP TABLE journal_tab; 27 | DROP TABLE article_tab; 28 | DROP TABLE librarian_tab; 29 | DROP TABLE book; 30 | DROP TABLE cover; 31 | 32 | DROP TYPE journal; 33 | DROP TYPE publ_address; 34 | DROP TYPE librarian; 35 | DROP TYPE people_obj; 36 | 37 | 38 | DROP TABLE electronic_media; 39 | DROP TYPE elheader_typ; 40 | DROP TYPE elecdoc_tab; 41 | DROP TYPE elecdoc_typ; 42 | 43 | DROP TABLE foreign_student_tab; 44 | DROP TABLE parttime_stud_tab; 45 | DROP TABLE student_tab; 46 | DROP TABLE people_tab; 47 | DROP TYPE foreign_student; 48 | DROP TYPE parttime_stud; 49 | DROP TYPE student; 50 | DROP TYPE people_typ; 51 | 52 | /* OCCI AQ Object */ 53 | 54 | connect system/manager 55 | 56 | revoke aq_administrator_role from hr; 57 | 58 | connect hr/hr 59 | 60 | BEGIN 61 | dbms_aqadm.stop_queue(queue_name => 'queue01'); 62 | END; 63 | / 64 | 65 | BEGIN 66 | dbms_aqadm.drop_queue('queue01'); 67 | END; 68 | / 69 | 70 | BEGIN 71 | dbms_aqadm.drop_queue_table('hr.table01'); 72 | END; 73 | / 74 | 75 | BEGIN 76 | dbms_aqadm.stop_queue(queue_name => 'queue02'); 77 | END; 78 | / 79 | 80 | BEGIN 81 | dbms_aqadm.drop_queue('queue02'); 82 | END; 83 | / 84 | 85 | BEGIN 86 | dbms_aqadm.drop_queue_table('hr.table02'); 87 | END; 88 | / 89 | 90 | BEGIN 91 | dbms_aqadm.stop_queue(queue_name => 'queue03'); 92 | END; 93 | / 94 | 95 | BEGIN 96 | dbms_aqadm.drop_queue('queue03'); 97 | END; 98 | / 99 | 100 | BEGIN 101 | dbms_aqadm.drop_queue_table('hr.table03'); 102 | END; 103 | / 104 | 105 | BEGIN 106 | dbms_aqadm.stop_queue(queue_name => 'queue04'); 107 | END; 108 | / 109 | 110 | BEGIN 111 | dbms_aqadm.drop_queue('queue04'); 112 | END; 113 | / 114 | 115 | BEGIN 116 | dbms_aqadm.drop_queue_table('hr.table04'); 117 | END; 118 | / 119 | 120 | DROP TYPE hr_obj; 121 | 122 | -------------------------------------------------------------------------------- /occiinh.typ: -------------------------------------------------------------------------------- 1 | CASE=LOWER 2 | MAPFILE=occiinhm.cpp 3 | TYPE FOREIGN_STUDENT as foreign_student 4 | -------------------------------------------------------------------------------- /occimb1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/occimb1.cpp -------------------------------------------------------------------------------- /occimb1.sql: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2003, 2004, Oracle Corporation. All rights reserved. */ 2 | /* 3 | 4 | NAME 5 | occimb1.sql - Create Objects for OCCI Globalization demo 6 | 7 | DESCRIPTION 8 | 9 | This sql script creates objects for occi multibyte demo 10 | This program assumes sample HR schema is setup. 11 | 12 | NOTES 13 | The database characterset must be UTF8. 14 | 15 | MODIFIED (MM/DD/YY) 16 | sudsrini 08/02/04 - Copyright Info 17 | shiyer 03/05/03 - Creation 18 | 19 | */ 20 | 21 | connect hr/hr; 22 | 23 | drop table globalinfo_tab; 24 | 25 | create table globalinfo_tab 26 | ( 27 | g_lang varchar2(10), 28 | g_infodesc varchar2(50), 29 | g_info varchar2(100) 30 | ); 31 | 32 | -------------------------------------------------------------------------------- /occiobj.typ: -------------------------------------------------------------------------------- 1 | CASE=SAME 2 | MAPFILE=occiobjm.cpp 3 | TYPE publ_address as address 4 | -------------------------------------------------------------------------------- /occipobj.typ: -------------------------------------------------------------------------------- 1 | CASE=SAME 2 | MAPFILE=occipobjm.cpp 3 | TYPE publ_address as address 4 | -------------------------------------------------------------------------------- /occistre.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2001, 2008, Oracle. All rights reserved. */ 2 | /* 3 | NAME 4 | occistre.cpp - OCCI Streams Interface demo 5 | 6 | DESCRIPTION 7 | This demo program selects data from VARCHAR2 datatype using 8 | OCCI streams interface 9 | 10 | MODIFIED (MM/DD/YY) 11 | mvasudev 05/22/08 - Add try/catch blocks 12 | sudsrini 10/22/06 - Username/Password lower case 13 | sudsrini 07/23/04 - Copyright Info 14 | idcqe 03/05/01 - Creation 15 | 16 | */ 17 | 18 | #include 19 | #include 20 | using namespace oracle::occi; 21 | using namespace std; 22 | 23 | class occistrm 24 | { 25 | private: 26 | 27 | Environment *env; 28 | Connection *conn; 29 | 30 | public: 31 | 32 | occistrm (string user, string passwd, string db) 33 | throw (SQLException) 34 | { 35 | env = Environment::createEnvironment (Environment::DEFAULT); 36 | conn = env->createConnection (user, passwd, db); 37 | }// end of constructor occistrm (string, string, string) 38 | 39 | ~occistrm () 40 | throw (SQLException) 41 | { 42 | env->terminateConnection (conn); 43 | Environment::terminateEnvironment (env); 44 | }// end of destructor 45 | 46 | /** 47 | * displaying all the rows in the table 48 | */ 49 | void displayAllRows () 50 | { 51 | Statement *stmt = conn->createStatement ( 52 | "SELECT summary FROM book WHERE bookid = 11"); 53 | stmt->execute (); 54 | ResultSet *rs = stmt->getResultSet (); 55 | rs->setCharacterStreamMode(1, 4000); 56 | char buffer[500]; 57 | int length = 0; 58 | unsigned int size = 500; 59 | try{ 60 | while (rs->next ()) 61 | { 62 | Stream *stream = rs->getStream (1); 63 | while( (length=stream->readBuffer(buffer, size))!=-1) 64 | { 65 | cout << "Read " << length << " bytes from stream" << endl; 66 | } 67 | rs->closeStream(stream); 68 | } 69 | } 70 | catch (SQLException ex){ 71 | cout << ex.getMessage() << endl; 72 | } 73 | stmt->closeResultSet (rs); 74 | conn->terminateStatement (stmt); 75 | }// end of updateRow (string); 76 | 77 | }; // end of class occistrm 78 | 79 | 80 | int main (void) 81 | { 82 | string user = "hr"; 83 | string passwd = "hr"; 84 | string db = ""; 85 | try{ 86 | cout << "occistrm - Exhibiting usage of streams for VARCHAR2 data" 87 | << endl; 88 | occistrm *demo = new occistrm (user, passwd, db); 89 | 90 | demo->displayAllRows (); 91 | 92 | delete (demo); 93 | } 94 | catch (SQLException ex){ 95 | cout << ex.getMessage() << endl; 96 | } 97 | cout << "occistrm - done" << endl; 98 | }// end of int main (void); 99 | -------------------------------------------------------------------------------- /occiuni1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/occiuni1.cpp -------------------------------------------------------------------------------- /occiuni1.sql: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2003, 2005, Oracle. All rights reserved. */ 2 | /* 3 | 4 | NAME 5 | occiuni1.sql - Create Objects for OCCI Globalization demo 6 | 7 | DESCRIPTION 8 | 9 | This sql script creates objects for occi unicode demo 10 | This program assumes sample HR schema is setup. 11 | 12 | 13 | MODIFIED (MM/DD/YY) 14 | sudsrini 08/02/04 - Copyright Info 15 | shiyer 03/05/03 - Creation 16 | 17 | */ 18 | 19 | connect hr/hr; 20 | 21 | drop table countries_tab; 22 | 23 | create table countries_tab 24 | ( 25 | CID Number(10), 26 | CENGLISHNAME Varchar2(100), 27 | CNATIONALNAME NVarchar2(100) 28 | ) 29 | / 30 | 31 | -------------------------------------------------------------------------------- /occiuni2.sql: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2003, 2005, Oracle. All rights reserved. */ 2 | /* 3 | 4 | NAME 5 | occiuni2.sql - Create Objects for OCCI Globalization demo 6 | 7 | DESCRIPTION 8 | 9 | This sql script creates objects for OCCI Windows Specific unicode demo 10 | This program assumes sample HR schema is setup. 11 | 12 | NOTES 13 | The demo to be run only on windows 14 | 15 | MODIFIED (MM/DD/YY) 16 | sudsrini 08/02/04 - Copyright Info 17 | shiyer 03/05/03 - Creation 18 | 19 | */ 20 | 21 | connect hr/hr 22 | 23 | drop table DocumentsTab; 24 | 25 | drop type DocObjType; 26 | 27 | create type DocObjType as object 28 | ( 29 | DocName varchar2(100), 30 | --nclob to store Unicode data 31 | DocText nclob 32 | ) 33 | / 34 | 35 | create table DocumentsTab of DocObjType; 36 | 37 | -------------------------------------------------------------------------------- /occiuni2.typ: -------------------------------------------------------------------------------- 1 | MAPFILE=occiuni2m.cpp 2 | TYPE docobjtype as DocObjType 3 | TRANSLATE docname as DocName 4 | doctext as DocText 5 | -------------------------------------------------------------------------------- /occiuni2_hindi.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/occiuni2_hindi.txt -------------------------------------------------------------------------------- /occiuni2_japanese.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/occiuni2_japanese.txt -------------------------------------------------------------------------------- /occiuni2_korean.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/occiuni2_korean.txt -------------------------------------------------------------------------------- /occiuni2_russian.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oleksiivorobiov/oracle_oci_examples/f5342514be51ef6242b31fccf7bbccb33bb432b8/occiuni2_russian.txt -------------------------------------------------------------------------------- /oci02.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci02.sql 11-oct-2006.15:55:31 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci02.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci02.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | rem 21 | rem create a view to get the name, length and colid of all the columns in 22 | rem a table 23 | create or replace view ocicol 24 | (tobjid, townerid, tname, cname, clength, colid) AS 25 | SELECT o$.obj#, o$.owner#, o$.name, c$.name, c$.length, c$.col# 26 | FROM sys.col$ c$, sys.obj$ o$ 27 | WHERE o$.obj# = c$.obj# 28 | / 29 | 30 | CREATE OR REPLACE view ocicolu AS /* user version for ocitest */ 31 | SELECT * from ocicol WHERE townerid = uid 32 | / 33 | grant select on ocicolu to public; 34 | drop public synonym ocicolu; 35 | create public synonym ocicolu for sys.ocicolu; 36 | 37 | rem 38 | rem Create a new user - call it ocitest 39 | rem 40 | drop user ocitest cascade; 41 | create user ocitest identified by OCITEST; 42 | grant connect, resource to ocitest; 43 | 44 | rem 45 | rem Created needed tables 46 | rem 47 | connect ocitest/OCITEST; 48 | 49 | create table test1 (col1 number); 50 | create table test2 (col1 number, col2 number); 51 | create table test3 (col1 number, col2 number, col3 number); 52 | create table test4 (this_col_name_is_30_chars_long number, 53 | two long, three date, four char(10)); 54 | 55 | -------------------------------------------------------------------------------- /oci03.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci03.sql 11-oct-2006.15:55:31 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci03.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci03.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | rem 21 | rem create a view to get the name, length and colid of all the columns in 22 | rem a table 23 | create or replace view ocicol 24 | (tobjid, townerid, tname, cname, clength, colid) AS 25 | SELECT o$.obj#, o$.owner#, o$.name, c$.name, c$.length, c$.col# 26 | FROM sys.col$ c$, sys.obj$ o$ 27 | WHERE o$.obj# = c$.obj# 28 | / 29 | 30 | CREATE OR REPLACE view ocicolu AS /* user version for ocitest */ 31 | SELECT * from ocicol WHERE townerid = uid 32 | / 33 | grant select on ocicolu to public; 34 | drop public synonym ocicolu; 35 | create public synonym ocicolu for sys.ocicolu; 36 | 37 | rem 38 | rem Create a new user - call it ocitest 39 | rem 40 | drop user ocitest cascade; 41 | create user ocitest identified by OCITEST; 42 | grant connect, resource to ocitest; 43 | 44 | rem 45 | rem Created needed tables 46 | rem 47 | connect ocitest/OCITEST; 48 | 49 | create table test1 (col1 number); 50 | create table test2 (col1 number, col2 number); 51 | create table test3 (col1 number, col2 number, col3 number); 52 | create table test4 (this_col_name_is_30_chars_long number, 53 | two long, three date, four char(10)); 54 | 55 | -------------------------------------------------------------------------------- /oci04.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci04.sql 11-oct-2006.15:55:31 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci04.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci01.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | rem 21 | rem create a view to get the name, length and colid of all the columns in 22 | rem a table 23 | create or replace view ocicol 24 | (tobjid, townerid, tname, cname, clength, colid) AS 25 | SELECT o$.obj#, o$.owner#, o$.name, c$.name, c$.length, c$.col# 26 | FROM sys.col$ c$, sys.obj$ o$ 27 | WHERE o$.obj# = c$.obj# 28 | / 29 | 30 | CREATE OR REPLACE view ocicolu AS /* user version for ocitest */ 31 | SELECT * from ocicol WHERE townerid = uid 32 | / 33 | grant select on ocicolu to public; 34 | drop public synonym ocicolu; 35 | create public synonym ocicolu for sys.ocicolu; 36 | 37 | rem 38 | rem Create a new user - call it ocitest 39 | rem 40 | drop user ocitest cascade; 41 | create user ocitest identified by OCITEST; 42 | grant connect, resource to ocitest; 43 | 44 | rem 45 | rem Created needed tables 46 | rem 47 | connect ocitest/OCITEST; 48 | 49 | create table test1 (col1 number); 50 | create table test2 (col1 number, col2 number); 51 | create table test3 (col1 number, col2 number, col3 number); 52 | create table test4 (this_col_name_is_30_chars_long number, 53 | two long, three date, four char(10)); 54 | 55 | -------------------------------------------------------------------------------- /oci05.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci05.sql 11-oct-2006.15:55:31 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci05.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci05.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | connect sys/knl_test7 as sysdba; 19 | rem 20 | rem create a view to get the name, length and colid of all the columns in 21 | rem a table 22 | create or replace view ocicol 23 | (tobjid, townerid, tname, cname, clength, colid) AS 24 | SELECT o$.obj#, o$.owner#, o$.name, c$.name, c$.length, c$.col# 25 | FROM sys.col$ c$, sys.obj$ o$ 26 | WHERE o$.obj# = c$.obj# 27 | / 28 | 29 | CREATE OR REPLACE view ocicolu AS /* user version for ocitest */ 30 | SELECT * from ocicol WHERE townerid = uid 31 | / 32 | grant select on ocicolu to public; 33 | drop public synonym ocicolu; 34 | create public synonym ocicolu for sys.ocicolu; 35 | 36 | rem 37 | rem Create a new user - call it ocitest 38 | rem 39 | drop user ocitest cascade; 40 | create user ocitest identified by OCITEST; 41 | grant connect, resource to ocitest; 42 | 43 | rem 44 | rem Created needed tables 45 | rem 46 | connect ocitest/OCITEST; 47 | 48 | create table test1 (col1 number); 49 | create table test2 (col1 number, col2 number); 50 | create table test3 (col1 number, col2 number, col3 number); 51 | create table test4 (this_col_name_is_30_chars_long number, two long, 52 | three date, four char(10)); 53 | create table test5( 54 | col1 number, col2 char, col3 number, col4 char, 55 | col5 number, col6 char, col7 number, col8 char, 56 | col9 number, col10 char); 57 | create table test6( 58 | col1 number, col2 char, col3 number, col4 char, 59 | col5 number, col6 char, col7 number, col8 char, 60 | col9 number, col10 char, col11 number, col12 char, 61 | col13 number, col14 char, col15 number, col16 char, 62 | col17 number, col18 char, col19 number); 63 | create table test7 (one number, two long, three date, four char(10), 64 | five number, six number, seven number, eight number, 65 | nine char(1), ten varchar(2000)); 66 | -------------------------------------------------------------------------------- /oci06.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci06.sql 11-oct-2006.15:55:32 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci06.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci06.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | rem 21 | rem create a view to get the name, length and colid of all the columns in 22 | rem a table 23 | create or replace view ocicol 24 | (tobjid, townerid, tname, cname, clength, colid) AS 25 | SELECT o$.obj#, o$.owner#, o$.name, c$.name, c$.length, c$.col# 26 | FROM sys.col$ c$, sys.obj$ o$ 27 | WHERE o$.obj# = c$.obj# 28 | / 29 | 30 | CREATE OR REPLACE view ocicolu AS /* user version for ocitest */ 31 | SELECT * from ocicol WHERE townerid = uid 32 | / 33 | grant select on ocicolu to public; 34 | drop public synonym ocicolu; 35 | create public synonym ocicolu for sys.ocicolu; 36 | 37 | rem 38 | rem Create a new user - call it ocitest 39 | rem 40 | drop user ocitest cascade; 41 | create user ocitest identified by OCITEST; 42 | grant connect, resource to ocitest; 43 | 44 | rem 45 | rem Created needed tables 46 | rem 47 | connect ocitest/OCITEST; 48 | 49 | create table test1 (this_col_name_is_30_chars_long number, 50 | two long, three date, four char(10)); 51 | 52 | -------------------------------------------------------------------------------- /oci07.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci07.sql 11-oct-2006.15:55:32 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci07.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci07.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | rem 21 | rem create a view to get the name, length and colid of all the columns in 22 | rem a table 23 | create or replace view ocicol 24 | (tobjid, townerid, tname, cname, clength, colid) AS 25 | SELECT o$.obj#, o$.owner#, o$.name, c$.name, c$.length, c$.col# 26 | FROM sys.col$ c$, sys.obj$ o$ 27 | WHERE o$.obj# = c$.obj# 28 | / 29 | 30 | CREATE OR REPLACE view ocicolu AS /* user version for ocitest */ 31 | SELECT * from ocicol WHERE townerid = uid 32 | / 33 | grant select on ocicolu to public; 34 | drop public synonym ocicolu; 35 | create public synonym ocicolu for sys.ocicolu; 36 | 37 | rem 38 | rem Create a new user - call it ocitest 39 | rem 40 | drop user ocitest cascade; 41 | create user ocitest identified by OCITEST; 42 | grant connect, resource to ocitest; 43 | 44 | rem 45 | rem Created needed tables 46 | rem 47 | connect ocitest/OCITEST; 48 | 49 | create table test1 (this_col_name_is_30_chars_long number, two long, 50 | three date, four char(10)); 51 | 52 | -------------------------------------------------------------------------------- /oci08.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci08.sql 11-oct-2006.15:55:32 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci08.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci08.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | rem 21 | rem create a view to get the name, length and colid of all the columns in 22 | rem a table 23 | create or replace view ocicol 24 | (tobjid, townerid, tname, cname, clength, colid) AS 25 | SELECT o$.obj#, o$.owner#, o$.name, c$.name, c$.length, c$.col# 26 | FROM sys.col$ c$, sys.obj$ o$ 27 | WHERE o$.obj# = c$.obj# 28 | / 29 | 30 | CREATE OR REPLACE view ocicolu AS /* user version for ocitest */ 31 | SELECT * from ocicol WHERE townerid = uid 32 | / 33 | grant select on ocicolu to public; 34 | drop public synonym ocicolu; 35 | create public synonym ocicolu for sys.ocicolu; 36 | 37 | rem 38 | rem Create a new user - call it ocitest 39 | rem 40 | drop user ocitest cascade; 41 | create user ocitest identified by OCITEST; 42 | grant connect, resource to ocitest; 43 | 44 | rem 45 | rem Created needed tables 46 | rem 47 | connect ocitest/OCITEST; 48 | create table test1 (col1 number); 49 | create table test2 (col1 number, col2 number); 50 | create table test3 (col1 number, col2 number, col3 number); 51 | create table test4 (one number, two long, three date, four char(10)); 52 | create table test5( 53 | col1 number, col2 char, col3 number, col4 char, 54 | col5 number, col6 char, col7 number, col8 char, 55 | col9 number, col10 char); 56 | create table test6( 57 | col1 number, col2 char, col3 number, col4 char, 58 | col5 number, col6 char, col7 number, col8 char, 59 | col9 number, col10 char, col11 number, col12 char, 60 | col13 number, col14 char, col15 number, col16 char, 61 | col17 number, col18 char, col19 number); 62 | create table test7 (one number, two long, three date, four char(10), 63 | five number, six number, seven number, eight number, 64 | nine char(1), ten varchar(2000)); 65 | -------------------------------------------------------------------------------- /oci12.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci12.sql 11-oct-2006.15:55:33 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci12.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci12.c 11 | rem RETURNS 12 | rem 13 | rem NOTES 14 | rem 15 | rem MODIFIED (MM/DD/YY) 16 | rem azhao 10/11/06 - case-senstive password change 17 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 18 | rem cchau 08/18/97 - enable dictionary protection 19 | rem echen 01/10/97 - change internal to sys/change_on_install 20 | rem vraghuna 03/01/95 - Creation 21 | 22 | set echo on; 23 | connect sys/knl_test7 as sysdba; 24 | drop user ocitest cascade; 25 | create user ocitest identified by OCITEST; 26 | grant connect,resource to ocitest; 27 | connect ocitest/OCITEST; 28 | 29 | create table oci12tab (col1 number, col2 long); 30 | 31 | insert into oci12tab values(1, 'A'); 32 | insert into oci12tab values(2, 'AB'); 33 | insert into oci12tab values(3, 'ABC'); 34 | insert into oci12tab values(4, 'ABCDEFGHIJKLM'); 35 | insert into oci12tab values(5, 'ABCD'); 36 | insert into oci12tab values(6, 'ABCDE'); 37 | insert into oci12tab values(7, 'ABCDEFGHIJ'); 38 | insert into oci12tab values(8, '1'); 39 | insert into oci12tab values(9, '12'); 40 | insert into oci12tab values(10, '123'); 41 | insert into oci12tab values(11, '123456789'); 42 | insert into oci12tab values(12, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'); 43 | commit; 44 | -------------------------------------------------------------------------------- /oci13.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci13.sql 11-oct-2006.15:55:33 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci13.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci13.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci13tab (col1 number, col2 long); 26 | 27 | insert into oci13tab values(1, 'A'); 28 | insert into oci13tab values(2, 'AB'); 29 | insert into oci13tab values(3, 'ABC'); 30 | insert into oci13tab values(4, 'ABCDEFGHIJKLM'); 31 | insert into oci13tab values(5, 'ABCD'); 32 | insert into oci13tab values(6, 'ABCDE'); 33 | insert into oci13tab values(7, 'ABCDEFGHIJ'); 34 | insert into oci13tab values(8, '1'); 35 | insert into oci13tab values(9, '12'); 36 | insert into oci13tab values(10, '123'); 37 | insert into oci13tab values(11, '123456789'); 38 | insert into oci13tab values(12, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'); 39 | commit; 40 | -------------------------------------------------------------------------------- /oci14.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci14.sql 11-oct-2006.15:55:33 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci14.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci14.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci14tab (col1 varchar2(30)); 26 | 27 | commit; 28 | -------------------------------------------------------------------------------- /oci15.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci15.sql 11-oct-2006.15:55:33 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci15.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci15.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci15tab (col1 varchar2(30)); 26 | 27 | commit; 28 | -------------------------------------------------------------------------------- /oci16.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci16.sql 11-oct-2006.15:55:34 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci16.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci16.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci16tab (col1 varchar2(30)); 26 | 27 | commit; 28 | 29 | -------------------------------------------------------------------------------- /oci17.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci17.sql 11-oct-2006.15:55:34 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci17.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci17.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci17tab (col1 varchar2(30)); 26 | 27 | commit; 28 | -------------------------------------------------------------------------------- /oci18.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci18.sql 11-oct-2006.15:55:34 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci18.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci18.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci18tab (col1 varchar2(30)); 26 | 27 | create or replace package oci18pkg as 28 | 29 | type char_array is table of varchar2(30) index by binary_integer; 30 | 31 | function oci18func( 32 | col1 in char_array, -- array to put cname in 33 | numins in integer) 34 | return integer; 35 | 36 | end; 37 | / 38 | 39 | create or replace package body oci18pkg as 40 | 41 | 42 | function oci18func( 43 | col1 in char_array, 44 | numins in integer 45 | ) return integer is retval integer; 46 | 47 | begin 48 | 49 | for i in 1..numins loop 50 | insert into oci18tab values (col1(i)); 51 | end loop; 52 | commit; 53 | 54 | retval := numins; 55 | return(retval); 56 | 57 | end; 58 | 59 | end; 60 | / 61 | 62 | commit; 63 | 64 | -------------------------------------------------------------------------------- /oci19.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci19.sql 11-oct-2006.15:55:34 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci19.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci19.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci19tab (col1 varchar2(30) unique); 26 | insert into oci19tab values ('AB'); 27 | insert into oci19tab values ('ABCDEFG'); 28 | insert into oci19tab values ('ABCDEFGHIJ'); 29 | insert into oci19tab values ('ABCDEFGHIJKLMNO'); 30 | commit; 31 | -------------------------------------------------------------------------------- /oci20.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci20.sql 11-oct-2006.15:55:34 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci20.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci20.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci20tab (col1 varchar2(30) unique); 26 | insert into oci20tab values ('AB'); 27 | insert into oci20tab values ('ABCDEFG'); 28 | insert into oci20tab values ('ABCDEFGHIJ'); 29 | insert into oci20tab values ('ABCDEFGHIJKLMNO'); 30 | commit; 31 | -------------------------------------------------------------------------------- /oci21.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci21.sql 11-oct-2006.15:55:35 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci21.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci21.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci21tab (col1 varchar2(30)); 26 | insert into oci21tab values ('A'); 27 | insert into oci21tab values ('AB'); 28 | insert into oci21tab values ('ABC'); 29 | insert into oci21tab values ('ABCD'); 30 | insert into oci21tab values ('ABCDE'); 31 | insert into oci21tab values ('ABCDEF'); 32 | insert into oci21tab values ('ABCDEFG'); 33 | insert into oci21tab values ('ABCDEFGH'); 34 | insert into oci21tab values ('ABCDEFGHI'); 35 | insert into oci21tab values ('ABCDEFGHIJ'); 36 | insert into oci21tab values ('ABCDEFGHIJK'); 37 | insert into oci21tab values ('ABCDEFGHIJKL'); 38 | 39 | commit; 40 | 41 | -------------------------------------------------------------------------------- /oci22.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci22.sql 11-oct-2006.15:55:35 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci22.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci22.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | drop user ocitest cascade; 21 | create user ocitest identified by OCITEST; 22 | grant connect,resource to ocitest; 23 | connect ocitest/OCITEST; 24 | 25 | create table oci22tab (col1 varchar2(30)); 26 | insert into oci22tab values ('A'); 27 | insert into oci22tab values ('AB'); 28 | insert into oci22tab values ('ABC'); 29 | insert into oci22tab values ('ABCD'); 30 | insert into oci22tab values ('ABCDE'); 31 | insert into oci22tab values ('ABCDEF'); 32 | insert into oci22tab values ('ABCDEFG'); 33 | insert into oci22tab values ('ABCDEFGH'); 34 | insert into oci22tab values ('ABCDEFGHI'); 35 | insert into oci22tab values ('ABCDEFGHIJ'); 36 | insert into oci22tab values ('ABCDEFGHIJK'); 37 | insert into oci22tab values ('ABCDEFGHIJKL'); 38 | 39 | commit; 40 | 41 | -------------------------------------------------------------------------------- /oci23.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci23.sql 11-oct-2006.15:55:35 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci23.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci23.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem emendez 06/16/97 - 16 | rem echen 01/10/97 - change internal to sys/change_on_install 17 | rem vraghuna 03/01/95 - Creation 18 | 19 | rem 20 | rem Create a new user - call it ocitest 21 | rem 22 | connect sys/knl_test7 as sysdba; 23 | drop user ocitest cascade; 24 | create user ocitest identified by OCITEST; 25 | grant connect, resource to ocitest; 26 | 27 | rem 28 | rem Created needed tables 29 | rem 30 | connect ocitest/OCITEST; 31 | 32 | create table oci23tab (one number not null, two long, three date, 33 | four char(10)); 34 | 35 | -------------------------------------------------------------------------------- /oci24.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci24.sql 11-oct-2006.15:55:35 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci24.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci24.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem svedala 09/11/98 - a "/" required after create package-bug 717842 15 | rem cchau 08/18/97 - enable dictionary protection 16 | rem echen 01/10/97 - change internal to sys/change_on_install 17 | rem vraghuna 03/01/95 - Creation 18 | 19 | set echo on; 20 | connect sys/knl_test7 as sysdba; 21 | 22 | rem 23 | rem Create a new user - call it ocitest 24 | rem 25 | drop user ocitest cascade; 26 | create user ocitest identified by OCITEST; 27 | grant connect, resource to ocitest; 28 | 29 | rem 30 | rem Created needed tables 31 | rem 32 | connect ocitest/OCITEST; 33 | 34 | create table oci24tab (ename char(10), empno number, sal number); 35 | 36 | create or replace package oci24pkg as 37 | 38 | procedure oci24proc( 39 | name in oci24tab.ename%type, 40 | salary out oci24tab.sal%type); 41 | 42 | procedure oci24proc( 43 | id_num in oci24tab.empno%type, 44 | salary out oci24tab.sal%type); 45 | 46 | function oci24proc ( 47 | name oci24tab.ename%type) return number; 48 | 49 | end oci24pkg; 50 | / 51 | 52 | 53 | -------------------------------------------------------------------------------- /oci25.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: oci25.sql 11-oct-2006.15:55:35 azhao Exp $ 3 | rem 4 | rem Copyright (c) 1995, 2006, Oracle. All rights reserved. 5 | rem 6 | rem NAME 7 | rem oci25.sql 8 | rem DESCRIPTION 9 | rem Script for A22400 OCI Techniques White Paper 10 | rem Demo script for oci25.c 11 | rem MODIFIED (MM/DD/YY) 12 | rem azhao 10/11/06 - case-senstive password change 13 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 14 | rem cchau 08/18/97 - enable dictionary protection 15 | rem echen 01/10/97 - change internal to sys/change_on_install 16 | rem vraghuna 03/01/95 - Creation 17 | 18 | set echo on; 19 | connect sys/knl_test7 as sysdba; 20 | 21 | rem 22 | rem Create a new user - call it ocitest 23 | rem 24 | drop user ocitest cascade; 25 | create user ocitest identified by OCITEST; 26 | grant connect, resource to ocitest; 27 | 28 | rem 29 | rem Created needed tables 30 | rem 31 | connect ocitest/OCITEST; 32 | drop table test1; 33 | drop table test2; 34 | drop table test3; 35 | 36 | -------------------------------------------------------------------------------- /oci_f.sed: -------------------------------------------------------------------------------- 1 | # NAME 2 | # oci_f.sed 3 | # DESCRIPTION 4 | # This sed script changes the OCI function and type names to long 5 | # names 6 | # MODIFIED 7 | # 10/03/96 - Peter Vasterd - Creation 8 | # 10/04/96 - Sreenivas Gollapudi - Added ComplexObjectComp 9 | # 10 | s/ocianyd/ocianyd/g 11 | s/ociatch/OCIServerAttach/g 12 | s/ociauth/OCISessionBegin/g 13 | s/ocibda/OCIBindDynamic/g 14 | s/ocibicfp/OCICallbackInBind/g 15 | s/ociblobl/OCIBlobLocator/g 16 | s/ociclobl/OCIClobLocator/g 17 | s/ocibocfp/OCICallbackOutBind/g 18 | s/ocidcfp/OCICallbackDefine/g 19 | s/ocibndh/OCIBind/g 20 | s/ocibndt/OCIBindObject/g 21 | s/ocibreak/OCIBreak/g 22 | s/ocibsa/OCIBindArrayOfStruct/g 23 | s/ocicorh/OCIComplexObject/g 24 | s/ocicord/OCIComplexObjectComp/g 25 | s/ocicpw/OCIPasswordChange/g 26 | s/ocidarr/OCIDefineArrayOfStruct/g 27 | s/ociddf/OCIDefineDynamic/g 28 | s/ocidfnh/OCIDefine/g 29 | s/ocidndt/OCIDefineObject/g 30 | s/ocidsca/OCIDescribeAny/g 31 | s/ocidsch/OCIDescribe/g 32 | s/ocidtch/OCIServerDetach/g 33 | s/ocienvh/OCIEnv/g 34 | s/ocierrh/OCIError/g 35 | s/ociexec/OCIStmtExecute/g 36 | s/ocifch/OCIStmtFetch/g 37 | s/ocifcls/OCILobFileClose/g 38 | s/ocifcrt/OCILobFileCreate/g 39 | s/ocifdel/OCILobFileDelete/g 40 | s/ocifdesc/OCIDescriptorFree/g 41 | s/ocifhndl/OCIHandleFree/g 42 | s/ocifopn/OCILobFileOpen/g 43 | s/ocifreem/OCIMemoryFree/g 44 | s/ocigattr/OCIAttrGet/g 45 | s/ocigbp/OCIStmtGetBindInfo/g 46 | s/ocigdesc/OCIDescriptorAlloc/g 47 | s/ocigdr/OCIErrorGet/g 48 | s/ocighndl/OCIHandleAlloc/g 49 | s/ocigparm/OCIParamGet/g 50 | s/ocisparm/OCIParamSet/g 51 | s/ocigpi/OCIStmtGetPieceInfo/g 52 | s/ociinit/OCIEnvInit/g 53 | s/ocild2sv/OCILdaToSvcCtx/g 54 | s/ocilfap/OCILobAppend/g 55 | s/ocilfcp/OCILobCopy/g 56 | s/ocilfer/OCILobErase/g 57 | s/ocilfln/OCILobGetLength/g 58 | s/ocilfrd/OCILobRead/g 59 | s/ocilftr/OCILobTrim/g 60 | s/ocilfwr/OCILobWrite/g 61 | s/ocilobd/OCILobLocator/g 62 | s/ocilobl/OCILobLocator/g 63 | s/ocipard/OCIParam/g 64 | s/ocipi/OCIInitialize/g 65 | s/ocirefd/ocirefd/g 66 | s/ocireq/OCIStmtPrepare/g 67 | s/ociridd/OCIRowid/g 68 | s/ocirs2sh/OCIResultSetToStmt/g 69 | s/ocirstd/OCIResult/g 70 | s/ocisattr/OCIAttrSet/g 71 | s/ocisnad/OCISnapshot/g 72 | s/ocispi/OCIStmtSetPieceInfo/g 73 | s/ocisrvh/OCIServer/g 74 | s/ocistmh/OCIStmt/g 75 | s/ocisv2ld/OCISvcCtxToLda/g 76 | s/ocisvch/OCISvcCtx/g 77 | s/ocitac/OCISessionEnd/g 78 | s/ocitxcm/OCITransCommit/g 79 | s/ocitxdt/OCITransDetach/g 80 | s/ocitxfgt/OCITransForget/g 81 | s/ocitxnh/OCITrans/g 82 | s/ocitxpre/OCITransPrepare/g 83 | s/ocitxrl/OCITransRollback/g 84 | s/ocitxst/OCITransStart/g 85 | s/ociusrh/OCISession/g 86 | s/ocivers/OCIServerVersion/g 87 | -------------------------------------------------------------------------------- /ociucb.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for building callback shared library 3 | # 4 | # To link user callback DLL: 5 | # 6 | # make -f ociucb.mk user_callback SHARED_LIBNAME=libname 7 | # OBJS="user.o ..." 8 | # e.g. make -f ociucb.mk user_callback SHARED_LIBNAME=ociucb.so.1.0 \ 9 | # OBJS=ociucb.o 10 | # 11 | # 12 | # 13 | # 14 | # NOTE: 1. ORACLE_HOME must be either: 15 | # . set in the user's environment 16 | # . passed in on the command line 17 | # . defined in a modified version of this makefile 18 | # 19 | # 2. Look in the platform specific documentation for information 20 | # about environment variables that need to be properly 21 | # defined (e.g. LD_LIBRARY_PATH in Solaris). 22 | # 23 | 24 | include $(ORACLE_HOME)/rdbms/lib/env_rdbms.mk 25 | 26 | .SUFFIXES: .o 27 | 28 | .c.o: 29 | $(C2O) 30 | 31 | user_callback: $(OBJS) 32 | $(BUILD_USERCALLBACK) 33 | -------------------------------------------------------------------------------- /ociucb32.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for building callback shared library 3 | # 4 | # To link user callback DLL: 5 | # 6 | # make -f ociucb32.mk user_callback SHARED_LIBNAME=libname 7 | # OBJS="user.o ..." 8 | # e.g. make -f ociucb32.mk user_callback SHARED_LIBNAME=ociucb.so.1.0 \ 9 | # OBJS=ociucb.o 10 | # 11 | # 12 | # 13 | # 14 | # NOTE: 1. ORACLE_HOME must be either: 15 | # . set in the user's environment 16 | # . passed in on the command line 17 | # . defined in a modified version of this makefile 18 | # 19 | # 2. Look in the platform specific documentation for information 20 | # about environment variables that need to be properly 21 | # defined (e.g. LD_LIBRARY_PATH in Solaris). 22 | # 23 | 24 | include $(ORACLE_HOME)/rdbms/lib/env_rdbms.mk 25 | 26 | .SUFFIXES: .o 27 | 28 | .c.o: 29 | $(C2O32) 30 | 31 | user_callback: $(OBJS) 32 | $(BUILD_USERCALLBACK32) 33 | -------------------------------------------------------------------------------- /olsdrp.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: olsdrp.sql 29-may-2007.01:56:44 srramara Exp $ 3 | Rem 4 | Rem olsdrp.sql 5 | Rem 6 | Rem Copyright (c) 2007, Oracle. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem olsdrp.sql - Drop Oracle Label Security demo 10 | Rem 11 | Rem DESCRIPTION 12 | Rem Drops Oracle Label Security demonstration policies, tables and users 13 | Rem 14 | Rem NOTES 15 | Rem Run this script before olsdemo to clean up previous demo installs 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem srramara 05/29/07 - passwd case sensitivity changes 19 | Rem gmurphy 02/02/01 - Merged gmurphy_ols_2rdbms 20 | Rem vpesati 01/18/01 - oracle label security demo drop script 21 | Rem vpesati 01/18/01 - Created 22 | Rem 23 | 24 | rem ==================================================================== 25 | rem Dropping HUMAN_RESOURCES and DEFENSE policies 26 | rem ==================================================================== 27 | 28 | CONNECT SA_DEMO/SA_DEMO 29 | EXECUTE SA_SYSDBA.DROP_POLICY('human_resources'); 30 | EXECUTE SA_SYSDBA.DROP_POLICY('defense'); 31 | 32 | rem ==================================================================== 33 | rem Dropping SA_DEMO, HR_ADMIN, DEFENSE_ADMIN and other users 34 | rem ==================================================================== 35 | 36 | CONNECT SYSTEM/manager as sysdba; 37 | DROP USER SA_DEMO CASCADE; 38 | DROP USER HR_ADMIN CASCADE; 39 | DROP USER DEFENSE_ADMIN CASCADE; 40 | 41 | DROP USER PRES CASCADE; 42 | DROP USER MD10 CASCADE; 43 | DROP USER ED10 CASCADE; 44 | DROP USER ED20 CASCADE; 45 | 46 | DROP USER UN_SP CASCADE; 47 | DROP USER SE_SP CASCADE; 48 | DROP USER TS_SP CASCADE; 49 | DROP USER SE_US CASCADE; 50 | DROP USER SE_CA CASCADE; 51 | DROP USER SE_UK CASCADE; 52 | DROP USER SE_AU CASCADE; 53 | DROP USER SE_CO CASCADE; 54 | DROP USER TS_US CASCADE; 55 | DROP USER SE_USO CASCADE; 56 | DROP USER TS_USO CASCADE; 57 | 58 | 59 | rem ==================================================================== 60 | rem Drop Demo ..... Complete 61 | rem ==================================================================== 62 | -------------------------------------------------------------------------------- /ori_f.sed: -------------------------------------------------------------------------------- 1 | # NAME 2 | # ori_f.sed 3 | # DESCRIPTION 4 | # This sed script changes the ORI function and type names to long 5 | # MODIFIED 6 | # 10/03/96 - Peter Vasterd - Creation 7 | # 10/16/96 - Peter Vasterd - Add changes from Calvin 8 | s/oricfls/OCICacheFlush/g 9 | s/origbgu/OCIDurationBegin/g 10 | s/origedu/OCIDurationEnd/g 11 | s/origpdr/OCIDurationGetParent/g 12 | s/orioapn/OCIObjectArrayPin/g 13 | s/oricfre/OCICacheFree/g 14 | s/oriocpy/OCIObjectCopy/g 15 | s/oricrfs/OCICacheRefresh/g 16 | s/oricunp/OCICacheUnpin/g 17 | s/oriogex/OCIObjectExists/g 18 | s/oriogfl/OCIObjectFlushStatus/g 19 | s/oriogns/OCIObjectGetInd/g 20 | s/oriogor/OCIObjectGetObjectRef/g 21 | s/oriogtb/OCIObjectPinTable/g 22 | s/oriogtr/OCIObjectGetTypeRef/g 23 | s/orionew/OCIObjectNew/g 24 | s/oriofls/OCIObjectFlush/g 25 | s/oriofre/OCIObjectFree/g 26 | s/oriolck/OCIObjectLock/g 27 | s/oriordl/OCIObjectMarkDeleteByRef/g 28 | s/oriopin/OCIObjectPin/g 29 | s/oriopdl/OCIObjectMarkDelete/g 30 | s/oriorfs/OCIObjectRefresh/g 31 | s/oriounp/OCIObjectUnpin/g 32 | s/orioupd/OCIObjectMarkUpdate/g 33 | s/orioupz/OCIObjectPinCountReset/g 34 | s/oridset/OCIObjectSetAttr/g 35 | s/oridget/OCIObjectGetAttr/g 36 | -------------------------------------------------------------------------------- /orl_m.sed: -------------------------------------------------------------------------------- 1 | # NAME 2 | # orl_m.sed 3 | # DESCRIPTION 4 | # This sed script changes the ORLmacro names to long names 5 | # MODIFIED 6 | # 10/03/96 - Peter Vasterd - Creation 7 | # 10/10/96 - Peter Vasterd - Merge Calvins stuff 8 | # 11/09/96 - Peter Vasterd - Fix Order 9 | s/ORLBMORO/OCI_LOBMODE_READONLY/g 10 | s/ORLBMORW/OCI_LOBMODE_READWRITE/g 11 | s/ORL_NUMSIZ/OCI_NUMBER_SIZE/g 12 | s/ORLTUB/OCI_NUMBER_UNSIGNED/g 13 | s/ORLTSB/OCI_NUMBER_SIGNED/g 14 | s/ORLD_BDAL/OCI_DATE_DAY_BELOW_VALID/g 15 | s/ORLD_BDA/OCI_DATE_INVALID_DAY/g 16 | s/ORLD_BMOL/OCI_DATE_MONTH_BELOW_VALID/g 17 | s/ORLD_BMO/OCI_DATE_INVALID_MONTH/g 18 | s/ORLD_BYRL/OCI_DATE_YEAR_BELOW_VALID/g 19 | s/ORLD_BYR/OCI_DATE_INVALID_YEAR/g 20 | s/ORLD_BHRL/OCI_DATE_HOUR_BELOW_VALID/g 21 | s/ORLD_BHR/OCI_DATE_INVALID_HOUR/g 22 | s/ORLD_BMNL/OCI_DATE_MINUTE_BELOW_VALID/g 23 | s/ORLD_BMN/OCI_DATE_INVALID_MINUTE/g 24 | s/ORLD_BSCL/OCI_DATE_SECOND_BELOW_VALID/g 25 | s/ORLD_BSC/OCI_DATE_INVALID_SECOND/g 26 | s/ORLD_MSD/OCI_DATE_DAY_MISSING_FROM_1582/g 27 | s/ORLD_YR0/OCI_DATE_YEAR_ZERO/g 28 | s/ORLD_BDT/OCI_DATE_INVALID_FORMAT/g 29 | -------------------------------------------------------------------------------- /oro_f.sed: -------------------------------------------------------------------------------- 1 | # NAME 2 | # oro_f.sed 3 | # DESCRIPTION 4 | # This sed script changes the ORO function and type to long names. 5 | # MODIFIED 6 | # 10/03/96 - Peter Vasterd - Creation 7 | # 10/10/96 - Peter Vasterd - Merge Calvins' stuff 8 | s/oroind/OCIInd/g 9 | s/oroodt/OCIDuration/g 10 | s/oroolm/OCILockOpt/g 11 | s/oroomo/OCIMarkOpt/g 12 | s/oroopo/OCIPinOpt/g 13 | s/ororef/OCIRef/g 14 | s/orooro/OCICoherency/g 15 | s/orotc/OCITypeCode/g 16 | s/orotec/OCITypeEncap/g 17 | s/orotmf/OCITypeMethodFlag/g 18 | s/orotpm/OCITypeParamMode/g 19 | s/orotgo/OCITypeGetOpt/g 20 | -------------------------------------------------------------------------------- /ort_f.sed: -------------------------------------------------------------------------------- 1 | # NAME 2 | # ort_f.sed 3 | # DESCRIPTION 4 | # This sed script changes the ORT function and type names to long names 5 | # MODIFIED 6 | # 10/03/96 - Peter Vasterd - Creation 7 | # 10/10/96 - Peter Vasterd - Merge Calvins' stuff 8 | s/ortado/OCITypeElem/g 9 | s/ortgabi/OCITypeAttrNext/g 10 | s/ortgabn/OCITypeAttrByName/g 11 | s/ortganm/OCITypeElemName/g 12 | s/ortgpnm/OCITypeElemName/g 13 | s/ortgasqt/OCITypeElemExtTypeCode/g 14 | s/ortgatc/OCITypeElemTypeCode/g 15 | s/ortgcel/OCITypeCollElem/g 16 | s/ortgcne/OCITypeCollSize/g 17 | s/ortgcsqt/OCITypeCollExtTypeCode/g 18 | s/ortgdttc/OCITypeCollTypeCode/g 19 | s/ortgmbi/OCITypeMethodNext/g 20 | s/ortgmbn/OCITypeMethodByName/g 21 | s/ortgmen/OCITypeMethodEncap/g 22 | s/ortgmfl/OCITypeMethodFlags/g 23 | s/ortgmmap/OCITypeMethodMap/g 24 | s/ortgmnm/OCITypeMethodName/g 25 | s/ortgmno/OCITypeMethodOverload/g 26 | s/ortgmnp/OCITypeMethodParams/g 27 | s/ortgmor/OCITypeMethodOrder/g 28 | s/ortgnp/OCITypeElemNumPrec/g 29 | s/ortgns/OCITypeElemNumScale/g 30 | s/ortgpa/OCITypeElemParameterizedType/g 31 | s/ortgpbn/OCITypeParamByName/g 32 | s/ortgpbp/OCITypeParamByPos/g 33 | s/ortgpps/OCITypeParamPos/g 34 | s/ortgpdv/OCITypeElemDefaultValue/g 35 | s/ortgpmo/OCITypeElemParamMode/g 36 | s/ortgptc/OCITypeElemTypeCode/g 37 | s/ortgscform/OCITypeElemCharSetForm/g 38 | s/ortgscid/OCITypeElemCharSetID/g 39 | s/ortgsl/OCITypeElemLength/g 40 | s/ortgtme/OCITypeName/g 41 | s/ortgtna/OCITypeAttrs/g 42 | s/ortgtnm/OCITypeMethods/g 43 | s/ortgttc/OCITypeTypeCode/g 44 | s/ortgtsch/OCITypeSchema/g 45 | s/ortgtvn/OCITypeVersion/g 46 | s/ortgpty/OCITypeElemType/g 47 | s/ortifre/OCITypeIterFree/g 48 | s/ortinew/OCITypeIterNew/g 49 | s/ortiset/OCITypeIterSet/g 50 | s/ortitr/OCITypeIter/g 51 | s/ortmdo/OCITypeMethod/g 52 | s/ortpdo/OCITypeElem/g 53 | s/ortrdo/OCITypeElem/g 54 | s/orttdo/OCIType/g 55 | s/ortvini/OCITypeVTInit/g 56 | s/ortvins/OCITypeVTInsert/g 57 | s/ortvsel/OCITypeVTSelect/g 58 | s/ortgatyp/OCITypeArrayByName/g 59 | s/ortgaty/OCITypeElemType/g 60 | -------------------------------------------------------------------------------- /sadvuwk.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: template.sql 06-feb-96.13:23:14 kosinski Exp $ 3 | Rem 4 | Rem sadvuwk.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2000. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem sadvuwk.SQL - Sample script to create a user-workload table 10 | Rem 11 | Rem DESCRIPTION 12 | Rem This is a simple example of creating a user-defined workload table from 13 | Rem which Summary Advisor can extract a workload. 14 | Rem 15 | Rem NOTES 16 | Rem The indexes are optional; however, if you plan on applying workload filters 17 | Rem to the load workload operation, then you should create indexes on the 18 | Rem most significant filter columns fo the user workload. 19 | Rem 20 | Rem The QUERY and OWNER columns are the only required columns for a user-supplied 21 | Rem workload. 22 | Rem 23 | Rem If the QUERY column will contain SQL statements longer than 2000 characters, 24 | Rem then it is acceptable to create the column as a LONG datatype. 25 | Rem 26 | Rem MODIFIED (MM/DD/YY) 27 | Rem gssmith 11/06/00 - Created 28 | Rem 29 | 30 | CREATE TABLE advisor_user_workload 31 | ( 32 | query varchar2(2000), /* full sql text */ 33 | owner varchar(30), /* user submitting the query */ 34 | application varchar(30), /* application name */ 35 | frequency number, /* query frequency */ 36 | lastuse date, /* lastuse date of the query */ 37 | priority number, /* priority of the query */ 38 | responsetime number, /* query response time */ 39 | resultsize number, /* result size in bytes */ 40 | sql_hash number, /* server generated hash */ 41 | sql_addr raw(4) /* lib-cache address */ 42 | ); 43 | 44 | CREATE INDEX adv_uwk_idx_01 45 | ON advisor_user_workload (application,lastuse); 46 | 47 | CREATE INDEX adv_uwk_idx_02 48 | ON advisor_user_workload (owner,lastuse); 49 | 50 | -------------------------------------------------------------------------------- /strmats.sql: -------------------------------------------------------------------------------- 1 | connect sys/knl_test7 as sysdba 2 | drop user trgadm cascade 3 | / 4 | grant dba to trgadm identified by trgadm 5 | / 6 | begin 7 | dbms_streams_auth.grant_admin_privilege( 8 | grantee => 'trgadm', 9 | grant_privileges => true); 10 | end; 11 | / 12 | grant create any procedure to trgadm 13 | / 14 | grant drop any procedure to trgadm 15 | / 16 | grant execute any procedure to trgadm 17 | / 18 | grant select on dba_tab_columns to trgadm 19 | / 20 | 21 | connect trgadm/trgadm 22 | 23 | create table async_trigger$ ( 24 | table_owner VARCHAR2(30), 25 | table_name VARCHAR2(30), 26 | trigger_owner VARCHAR2(30), 27 | trigger_name VARCHAR2(30), 28 | dml_events NUMBER, 29 | flags NUMBER) 30 | / 31 | 32 | create table async_trigger_rule$( 33 | owner VARCHAR2(30), 34 | table_name VARCHAR2(30), 35 | capture_rule VARCHAR2(65), 36 | apply_rule VARCHAR2(65)) 37 | / 38 | 39 | create table props$ ( 40 | trigger_capture VARCHAR2(30), 41 | trigger_apply VARCHAR2(30), 42 | trigger_apply_status VARCHAR2(30)) 43 | / 44 | 45 | create index async_trigger_i1 on async_trigger$(table_owner, table_name) 46 | / 47 | create unique index async_trigger_i2 on async_trigger$(trigger_owner, 48 | trigger_name) 49 | / 50 | 51 | create type table_dml IS object ( 52 | owner varchar2(30), 53 | table_name varchar2(30), 54 | dml number) 55 | / 56 | 57 | create type table_dml_list is varray(1024) of table_dml 58 | / 59 | 60 | @@strmatp.sql 61 | -------------------------------------------------------------------------------- /strmmv1README.txt: -------------------------------------------------------------------------------- 1 | / 2 | / $Header: strmmv1README.txt 24-jan-2006.16:01:05 wesmith Exp $ 3 | / 4 | / strmmv1README.txt 5 | / 6 | / Copyright (c) 2006, Oracle. All Rights Reserved. 7 | / 8 | / NAME 9 | / strmmv1README.txt - 10 | / 11 | / DESCRIPTION 12 | / 13 | / 14 | / NOTES 15 | / 16 | / 17 | / MODIFIED (MM/DD/YY) 18 | / wesmith 01/24/06 - Creation 19 | / 20 | 21 | Asynchronous commit-time MV refresh using Streams 22 | 23 | This script creates a package with the following procedures: 24 | - register_tables() which sets up streams for all tables with MV logs 25 | - unregister_tables() which removes streams for all tables that no longer 26 | have MV logs 27 | - apply DML handler which caches all tables involved in a transaction in 28 | a package state variable 29 | - apply pre-commit handler which submits a job to call refresh_dependent 30 | (in this package) on all tables that were cached. 31 | - refresh_dependent() which calls dbms_mview.refresh_dependent() after 32 | possibly eliminating tables that no longer have any dependent MVs that 33 | need refreshing (due to other concurrent refresh_dependent() jobs). 34 | Nested MVs are refreshed too, if required. 35 | - remove_async_mv_streams() which removes ASYNC_MV streams configuration 36 | Using this package will allow you to set up local MVs that will refresh 37 | asynchronously at commit-time using Streams. 38 | 39 | NOTES: 40 | - refresh_dependent() references all_refresh_dependencies which gives the 41 | oldest refresh scn for a master table, so 42 | commit_scn > oldest_refresh_scn implies that at least one dependent MV 43 | is stale. So calling dbms_mview.refresh_dependent() may still 44 | result in null refreshes. It may be possible to modify this procedure 45 | to consider the last refresh scn of each dependent MV. 46 | 47 | - refresh_dependent() does not consider refresh groups. It may be possible 48 | to modify this to consider additional refresh group views. 49 | 50 | Instructions: 51 | - create streams administrator 52 | - create streams queue 53 | - call async_mv_pkg.register_tables() passing a special capture and apply name 54 | - set applicable apply parameters 55 | - call dbms_apply_adm.alter_apply to assign precommit handler to apply process 56 | - start capture and apply 57 | - you can submit jobs for async_mv_pkg.register_tables(), 58 | async_mv_pkg.unregister_tables() 59 | to keep track of new tables with MV logs, or tables that no longer have 60 | MV logs, simplifying the administration. 61 | - call async_mv_pkg.remove_async_mv_streams() to remove the streams 62 | configuration for async MV refresh. 63 | -------------------------------------------------------------------------------- /ulcase1.ctl: -------------------------------------------------------------------------------- 1 | -- Copyright (c) 1991, 2004 Oracle. All rights reserved. 2 | -- NAME 3 | -- ulcase1.ctl - SQL*Loader Case Study 1: Loading Variable-Length Data 4 | -- 5 | -- DESCRIPTION 6 | -- This case study demonstrates the following: 7 | -- 8 | -- A simple control file identifying one table and three columns 9 | -- to be loaded. 10 | -- 11 | -- Including data to be loaded from the control file itself, so 12 | -- there is no separate datafile. 13 | -- 14 | -- Loading data in stream format, with both types of delimited 15 | -- fields: terminated and enclosed. 16 | -- 17 | -- TO RUN THIS CASE STUDY: 18 | -- 1. Before executing this control file, log in to SQL*Plus as 19 | -- scott/tiger. Enter @ulcase1 to execute the SQL script for 20 | -- this case study. This prepares and populates tables and 21 | -- then returns you to the system prompt. 22 | -- 23 | -- 2. At the system prompt, invoke the case study as follows: 24 | -- sqlldr USERID=scott/tiger CONTROL=ulcase1.ctl LOG=ulcase1.log 25 | -- 26 | -- NOTES ABOUT THIS CONTROL FILE 27 | -- The LOAD DATA statement is required at the beginning of the 28 | -- control file. 29 | -- 30 | -- INFILE * specifies that the data is found in the control file 31 | -- and not in an external file. 32 | -- 33 | -- The INTO TABLE statement is required to identify the table to 34 | -- be loaded (dept) into. By default, SQL*Loader requires the 35 | -- table to be empty before it inserts any records. 36 | -- 37 | -- FIELDS TERMINATED BY specifies that the data is terminated by 38 | -- commas, but may also be enclosed by quotation marks. Datatypes 39 | -- for all fields default to CHAR. 40 | -- 41 | -- The names of columns to load are enclosed in parentheses. 42 | -- If no datatype or length is specified and the field is delimited 43 | -- with ENCLOSED BY or with TERMINATED BY, then the default 44 | -- datatype is CHAR and the default length is 255. If ENCLOSED BY 45 | -- or TERMINATED BY is not specified, then the default type is CHAR 46 | -- and the default length is 1. 47 | -- 48 | -- BEGINDATA specifies the beginning of the data. 49 | -- 50 | LOAD DATA 51 | INFILE * 52 | INTO TABLE DEPT 53 | FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 54 | (DEPTNO, DNAME, LOC) 55 | BEGINDATA 56 | 12,RESEARCH,"SARATOGA" 57 | 10,"ACCOUNTING",CLEVELAND 58 | 11,"ART",SALEM 59 | 13,FINANCE,"BOSTON" 60 | 21,"SALES",PHILA. 61 | 22,"SALES",ROCHESTER 62 | 42,"INT'L","SAN FRAN" 63 | -------------------------------------------------------------------------------- /ulcase1.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase1.sql 14-jul-99.14:22:19 mjaeger Exp $ 3 | rem 4 | rem Copyright (c) 1991, 1999, Oracle Corporation. All rights reserved. 5 | rem 6 | rem NAME 7 | rem ulcase1.sql - 8 | rem DESCRIPTION 9 | rem 10 | rem RETURNS 11 | rem 12 | rem NOTES 13 | rem 14 | rem MODIFIED (MM/DD/YY) 15 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 16 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 17 | rem ksudarsh 03/01/93 - comment out vms specific host command 18 | rem ksudarsh 12/29/92 - Creation 19 | rem cheigham 08/28/91 - Creation 20 | rem 21 | 22 | set termout off 23 | 24 | rem host write sys$output "Building first demonstration tables. Please wait" 25 | 26 | drop table emp; 27 | drop table dept; 28 | 29 | create table emp 30 | (empno number(4) not null, 31 | ename char(10), 32 | job char(9), 33 | mgr number(4), 34 | hiredate date, 35 | sal number(7,2), 36 | comm number(7,2), 37 | deptno number(2)); 38 | 39 | create table dept 40 | (deptno number(2), 41 | dname char(14) , 42 | loc char(13) ) ; 43 | 44 | exit 45 | -------------------------------------------------------------------------------- /ulcase10.sql: -------------------------------------------------------------------------------- 1 | rem 2 | Rem $Header: ulcase10.sql 11-may-00.13:48:45 rpfau Exp $ 3 | rem 4 | rem ulcase10.sql 5 | rem 6 | rem Copyright (c) 1998, 1999,, 2000 Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem ulcase10.sql - set up for SQL Loader example 10 10 | rem 11 | rem DESCRIPTION 12 | rem Create tables need to for example of using SQL Loader to load 13 | rem VARRAYS and references 14 | rem 15 | rem NOTES 16 | rem none 17 | rem 18 | rem MODIFIED (MM/DD/YY) 19 | Rem rpfau 05/11/00 - Remove slashes on create table commands so it 20 | Rem runs successfully using sqlplus. 21 | Rem cmlim 07/27/99 - add / 22 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 23 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 24 | rem jstenois 10/26/98 - demo of 8.1 features for sqlldr 25 | rem jstenois 10/26/98 - Created 26 | rem 27 | 28 | rem host write sys$output "Building case 10 demonstration tables. Please wait" 29 | 30 | rem do all cleanup 31 | 32 | drop table orders; 33 | drop table customers; 34 | drop type item_list_type; 35 | drop type item_type; 36 | drop type customer_type; 37 | 38 | rem Create an ORDER record that has a VARRAY for the items that comprise the 39 | rem order and has a reference field to a record in the CUSTOMER table for 40 | rem the customer placing the order. 41 | 42 | rem create customer type 43 | 44 | create type customer_type as object ( 45 | cust_no char(5), 46 | name char(20), 47 | addr char(20) 48 | ); 49 | / 50 | 51 | rem create object table for customer type 52 | 53 | create table customers of customer_type 54 | (primary key (cust_no)) 55 | object id primary key; 56 | 57 | rem create type for order items 58 | 59 | create type item_type as object ( 60 | item varchar(50), 61 | cnt number, 62 | price number(7,2) 63 | ); 64 | / 65 | 66 | rem create varray type for order items 67 | 68 | create type item_list_type as varray (1000) of item_type; 69 | / 70 | 71 | rem create orders table with varray for items and ref to object table 72 | 73 | create table orders ( 74 | order_no char(5), 75 | cust ref customer_type references customers, 76 | item_list item_list_type 77 | ); 78 | 79 | exit; 80 | / 81 | -------------------------------------------------------------------------------- /ulcase11.dat: -------------------------------------------------------------------------------- 1 | 7782, "Clark", "Manager", 7839, 09-June-1981, 2572.50,, 10:101 2 | 7839, "King", "President", , 17-November-1981, 5500.00,, 10:102 3 | 7934, "Miller", "Clerk", 7782, 23-January-1982, 920.00,, 10:102 4 | 7566, "Jones", "Manager", 7839, 02-April-1981, 3123.75,, 20:101 5 | 7499, "Allen", "Salesman", 7698, 20-February-1981, 1600.00, 300.00, 30:103 6 | 7654, "Martin", "Salesman", 7698, 28-September-1981, 1312.50, 1400.00, 30:103 7 | 7658, "Chan", "Analyst", 7566, 03-May-1982, 3450,, 20:101 8 | -------------------------------------------------------------------------------- /ulcase11.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: ulcase11.sql 06-feb-2001.14:26:12 rpfau Exp $ 3 | Rem 4 | Rem ulcase11.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem ulcase11.sql - Set up for SQL Loade example 11 10 | Rem 11 | Rem DESCRIPTION 12 | Rem Create table emp for example loading little endian unicode (UTF-16) 13 | Rem data. 14 | Rem 15 | Rem NOTES 16 | Rem None 17 | Rem 18 | Rem MODIFIED (MM/DD/YY) 19 | Rem rpfau 02/06/01 - Merged rpfau_sqlldr_add_case_study_11 20 | Rem rpfau 01/30/01 - Created 21 | Rem 22 | set termout off 23 | 24 | rem host write sys$output "Building demonstration tables for case study 11. Please wait" 25 | 26 | drop table emp; 27 | 28 | create table emp 29 | (empno number(4) not null, 30 | ename char(10), 31 | job char(9), 32 | mgr number(4), 33 | hiredate date, 34 | sal number(7,2), 35 | comm number(7,2), 36 | deptno number(2), 37 | projno number, 38 | loadseq number); 39 | 40 | exit 41 | -------------------------------------------------------------------------------- /ulcase2.ctl: -------------------------------------------------------------------------------- 1 | -- Copyright (c) 1991, 2004 Oracle. All rights reserved. 2 | -- NAME 3 | -- ulcase2.ctl - SQL*Loader Case Study 2: Loading Fixed-Format Files 4 | -- 5 | -- DESCRIPTION 6 | -- This control file demonstrates the following: 7 | -- Use of a separate data file. 8 | -- 9 | -- Data conversions. 10 | -- 11 | -- TO RUN THIS CASE STUDY: 12 | -- 1. Before executing this control file, log in to SQL*Plus as 13 | -- scott/tiger. Enter @ulcase1 to execute the SQL script for 14 | -- this case study. This prepares and populates tables and 15 | -- then returns you to the system prompt. It is the same script 16 | -- used to prepare for case study 1, so if you have already 17 | -- run case study 1, you can skip this step. 18 | -- 19 | -- 2. At the system prompt, invoke the case study as follows: 20 | -- sqlldr USERID=scott/tiger CONTROL=ulcase2.ctl LOG=ulcase2.log 21 | -- 22 | -- NOTES ABOUT THIS CONTROL FILE 23 | -- The LOAD DATA statement is required at the beginning of the 24 | -- control file. 25 | -- 26 | -- The name of the file containing data follows the INFILE parameter. 27 | -- 28 | -- The INTO TABLE statement is required to identify the table to 29 | -- be loaded into. 30 | -- 31 | -- empno, ename, job, and so on are names of columns in table emp. 32 | -- The datatypes (INTEGER EXTERNAL, CHAR, DECIMAL EXTERNAL) identify 33 | -- the datatype of data fields in the file, not of corresponding 34 | -- columns in the emp table. 35 | -- 36 | -- Note that the set of column specifications is enclosed in 37 | -- parentheses. 38 | -- 39 | -- Records loaded in this example from the emp table contain 40 | -- department numbers. Unless the dept table is loaded first, 41 | -- referential integrity checking rejects these records (if 42 | -- referential integrity constraints are enabled for the emp table). 43 | 44 | -- 45 | LOAD DATA 46 | INFILE 'ulcase2.dat' 47 | INTO TABLE EMP 48 | 49 | ( EMPNO POSITION(01:04) INTEGER EXTERNAL, 50 | ENAME POSITION(06:15) CHAR, 51 | JOB POSITION(17:25) CHAR, 52 | MGR POSITION(27:30) INTEGER EXTERNAL, 53 | SAL POSITION(32:39) DECIMAL EXTERNAL, 54 | COMM POSITION(41:48) DECIMAL EXTERNAL, 55 | DEPTNO POSITION(50:51) INTEGER EXTERNAL) 56 | 57 | -------------------------------------------------------------------------------- /ulcase2.dat: -------------------------------------------------------------------------------- 1 | 7782 CLARK MANAGER 7839 2572.50 10 2 | 7839 KING PRESIDENT 5500.00 10 3 | 7934 MILLER CLERK 7782 920.00 10 4 | 7566 JONES MANAGER 7839 3123.75 20 5 | 7499 ALLEN SALESMAN 7698 1600.00 300.00 30 6 | 7654 MARTIN SALESMAN 7698 1312.50 1400.00 30 7 | 7658 CHAN ANALYST 7566 3450.00 20 8 | -------------------------------------------------------------------------------- /ulcase3.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase3.sql 14-jul-99.14:23:36 mjaeger Exp $ 3 | rem 4 | rem Copyright (c) 1991, 1999, Oracle Corporation. All rights reserved. 5 | rem 6 | rem NAME 7 | rem ulcase3.sql - 8 | rem DESCRIPTION 9 | rem 10 | rem RETURNS 11 | rem 12 | rem NOTES 13 | rem ulcase2.sql must be executed before this pocedure. 14 | rem MODIFIED (MM/DD/YY) 15 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 16 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 17 | rem ksudarsh 03/11/93 - comment out vms specific host command 18 | rem ksudarsh 12/29/92 - Creation 19 | rem cheigham 08/28/91 - Creation 20 | rem 21 | 22 | set termout off 23 | 24 | rem Do not clean up table because this example shows appending to existing 25 | rem rows in table that also has new columns. 26 | 27 | rem host write sys$output "Adding columns to emp. Please wait." 28 | 29 | alter table emp add (projno number, loadseq number); 30 | 31 | exit 32 | -------------------------------------------------------------------------------- /ulcase4.dat: -------------------------------------------------------------------------------- 1 | *7782 CLARK MA 2 | NAGER 7839 2572.50 -10 2512-NOV-85 3 | *7839 KING PR 4 | ESIDENT 5500.00 2505-APR-83 5 | *7934 MILLER CL 6 | ERK 7782 920.00 2508-MAY-80 7 | *7566 JONES MA 8 | NAGER 7839 3123.75 2517-JUL-85 9 | *7499 ALLEN SA 10 | LESMAN 7698 1600.00 300.00 25 3-JUN-84 11 | *7654 MARTIN SA 12 | LESMAN 7698 1312.50 1400.00 2521-DEC-85 13 | *7658 CHAN AN 14 | ALYST 7566 3450.00 2516-FEB-84 15 | * CHEN AN 16 | ALYST 7566 3450.00 2516-FEB-84 17 | *7658 CHIN AN 18 | ALYST 7566 3450.00 2516-FEB-84 19 | -------------------------------------------------------------------------------- /ulcase4.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase4.sql 14-jul-99.14:24:22 mjaeger Exp $ 3 | rem 4 | rem Copyright (c) 1990, 1999, Oracle Corporation. All rights reserved. 5 | rem 6 | rem NAME 7 | rem 8 | rem FUNCTION 9 | rem NOTES 10 | rem MODIFIED (MM/DD/YY) 11 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 12 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 13 | rem ksudarsh 03/11/93 - comment out vms specific host command 14 | rem ksudarsh 12/29/92 - Creation 15 | rem cheigham 08/28/91 - Creation 16 | rem Heigham 11/21/90 - create UNIQUE index 17 | rem 18 | 19 | set termout off 20 | 21 | rem host write sys$output "Building case 4 demonstration tables. Please wait" 22 | 23 | drop table emp; 24 | 25 | create table emp 26 | (empno number(4) not null, 27 | ename char(10), 28 | job char(9), 29 | mgr number(4), 30 | hiredate date, 31 | sal number(7,2), 32 | comm number(7,2), 33 | deptno number(2)); 34 | 35 | create unique index empix on emp(empno); 36 | 37 | exit 38 | -------------------------------------------------------------------------------- /ulcase5.dat: -------------------------------------------------------------------------------- 1 | 1234 BAKER 10 9999 101 102 103 2 | 1234 JOKER 10 9999 777 888 999 3 | 2664 YOUNG 20 2893 425 abc 102 4 | 5321 OTOOLE 10 9999 321 55 40 5 | 2134 FARMER 20 4555 236 456 6 | 2414 LITTLE 20 5634 236 456 40 7 | 6542 LEE 10 4532 102 321 14 8 | 2849 EDDS xx 4555 294 40 9 | 4532 PERKINS 10 9999 40 10 | 1244 HUNT 11 3452 665 133 456 11 | 123 DOOLITTLE 12 9940 132 12 | 1453 MACDONALD 25 5532 200 13 | -------------------------------------------------------------------------------- /ulcase5.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase5.sql 20-jul-99.18:06:21 cmlim Exp $ 3 | rem 4 | rem Copyright (c) 1991, 1999, Oracle Corporation. All rights reserved. 5 | rem 6 | rem NAME 7 | rem ulcase5.sql - 8 | rem DESCRIPTION 9 | rem 10 | rem RETURNS 11 | rem 12 | rem NOTES 13 | rem 14 | rem MODIFIED (MM/DD/YY) 15 | Rem cmlim 07/20/99 - add unique index on empno 16 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 17 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 18 | rem ksudarsh 03/11/93 - comment out vms specific host command 19 | rem ksudarsh 12/29/92 - Creation 20 | rem cheigham 08/28/91 - Creation 21 | rem 22 | 23 | set termout off 24 | 25 | rem host write sys$output "Building case 5 demonstration tables. Please wait" 26 | 27 | drop table emp; 28 | 29 | drop table proj; 30 | 31 | create table emp 32 | (empno number(4) not null, 33 | ename char(10), 34 | job char(9), 35 | mgr number(4), 36 | hiredate date, 37 | sal number(7,2), 38 | comm number(7,2), 39 | deptno number(2)); 40 | 41 | create unique index empix on emp(empno); 42 | 43 | create table proj 44 | (empno number, 45 | projno number); 46 | 47 | exit 48 | -------------------------------------------------------------------------------- /ulcase6.ctl: -------------------------------------------------------------------------------- 1 | -- Copyright (c) 1991, 2004 Oracle. All rights reserved. 2 | -- NAME 3 | -- ulcase6.ctl - SQL*Loader Case Study 6: Loading Data Using the 4 | -- Direct Path Load Method 5 | -- 6 | -- DESCRIPTION 7 | -- This case study demonstrates the following: 8 | -- Use of the direct path load method to load and index data. 9 | -- 10 | -- How to specify the indexes for which the data is presorted. 11 | -- 12 | -- Use of the NULLIF clause. 13 | -- 14 | -- Loading all-blank numeric fields as NULL. 15 | -- 16 | -- TO RUN THIS CASE STUDY: 17 | -- 1. Before executing this control file, log in to SQL*Plus as 18 | -- scott/tiger. Enter @ulcase6 to execute the SQL script for 19 | -- this case study. This prepares and populates tables and 20 | -- then returns you to the system prompt. 21 | -- 22 | -- 2. At the system prompt, invoke the case study as follows: 23 | -- sqlldr USERID=scott/tiger CONTROL=ulcase6.ctl LOG=ulcase6.log DIRECT=TRUE 24 | -- 25 | -- NOTES ABOUT THIS CONTROL FILE 26 | -- The SORTED INDEXES statement identifies the indexes on which 27 | -- the data is sorted. This statement indicates that the datafile 28 | -- is sorted on the columns in the empix index. It allows 29 | -- SQL*Loader to optimize index creation by eliminating the sort 30 | -- phase for this data when using the direct path load method. 31 | -- 32 | -- The NULLIF...BLANKS clause specifies that the column should 33 | -- be loaded as NULL if the field in the datafile consists of 34 | -- all blanks. 35 | -- 36 | LOAD DATA 37 | INFILE 'ulcase6.dat' 38 | REPLACE 39 | INTO TABLE emp 40 | SORTED INDEXES (empix) 41 | (empno POSITION(1:4), 42 | ename POSITION(6:15), 43 | job POSITION(17:25), 44 | mgr POSITION(27:30) NULLIF mgr=blanks, 45 | sal POSITION(32:39) NULLIF sal=blanks, 46 | comm POSITION(41:48) NULLIF comm=blanks, 47 | deptno POSITION(50:51) NULLIF empno=blanks) 48 | -------------------------------------------------------------------------------- /ulcase6.dat: -------------------------------------------------------------------------------- 1 | 7499 ALLEN SALESMAN 7698 1600.00 300.00 30 2 | 7566 JONES MANAGER 7839 3123.75 20 3 | 7654 MARTIN SALESMAN 7698 1312.50 1400.00 30 4 | 7658 CHAN ANALYST 7566 3450.00 20 5 | 7782 CLARK MANAGER 7839 2572.50 10 6 | 7839 KING PRESIDENT 5500.00 10 7 | 7934 MILLER CLERK 7782 920.00 10 8 | -------------------------------------------------------------------------------- /ulcase6.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase6.sql 14-jul-99.14:25:48 mjaeger Exp $ 3 | rem 4 | rem Copyright (c) 1991, 1999, Oracle Corporation. All rights reserved. 5 | rem 6 | rem NAME 7 | rem ulcase6.sql - 8 | rem DESCRIPTION 9 | rem 10 | rem RETURNS 11 | rem 12 | rem NOTES 13 | rem 14 | rem MODIFIED (MM/DD/YY) 15 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 16 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 17 | rem ksudarsh 02/21/94 - create unique index "empix" 18 | rem ksudarsh 03/11/93 - comment out vms specific host command 19 | rem ksudarsh 12/29/92 - Creation 20 | rem ksudarsh 12/28/92 - Don't drop dept 21 | rem cheigham 08/28/91 - Creation 22 | rem cheigham 03/19/91 - Creation 23 | 24 | set termout off 25 | rem host write sys$output "Building case 6 demonstration tables. Please wait" 26 | 27 | drop table emp; 28 | 29 | create table emp 30 | (empno number(4) not null, 31 | ename char(10), 32 | job char(9), 33 | mgr number(4), 34 | hiredate date, 35 | sal number(7,2), 36 | comm number(7,2), 37 | deptno number(2)); 38 | 39 | create unique index empix on emp(empno); 40 | 41 | exit 42 | -------------------------------------------------------------------------------- /ulcase7.dat: -------------------------------------------------------------------------------- 1 | 2 | 3 | Today's Newly Hired Employees 4 | 5 | Dept Job Manager MgrNo Emp Name EmpNo Salary/Commission 6 | ---- -------- -------- ----- -------- ----- ----------------- 7 | 20 Salesman Blake 7698 Shepard 8061 $1,600.00 (3%) 8 | Falstaff 8066 $1,250.00 (5%) 9 | Major 8064 $1,250.00 (14%) 10 | 11 | 30 Clerk Scott 7788 Conrad 8062 $1,100.00 12 | Ford 7369 DeSilva 8063 $800.00 13 | Manager King 7839 Provo 8065 $2,975.00 14 | -------------------------------------------------------------------------------- /ulcase7e.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase7e.sql 14-jul-99.14:26:51 mjaeger Exp $ 3 | rem 4 | rem Copyright (c) 1991, 1999, Oracle Corporation. All rights reserved. 5 | rem 6 | rem NAME 7 | rem ulcase7e.sql - 8 | rem DESCRIPTION 9 | rem 10 | rem RETURNS 11 | rem 12 | rem NOTES 13 | rem 14 | rem MODIFIED (MM/DD/YY) 15 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 16 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 17 | rem ksudarsh 03/11/93 - comment out vms specific host command 18 | rem ksudarsh 12/30/92 - Creation 19 | rem ksudarsh 12/27/92 - Creation 20 | rem 21 | rem ULDEMO7E.SQL 22 | rem End-script for SQL*Loader Examples, Case 7 23 | 24 | set termout off 25 | rem host write sys$output "Cleaning up Case 7 Trigger and Package." 26 | 27 | DROP PACKAGE uldemo7; 28 | DROP TRIGGER uldemo7_emp_insert; 29 | 30 | EXIT 31 | -------------------------------------------------------------------------------- /ulcase7s.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase7s.sql 26-jul-99.09:39:37 mjaeger Exp $ 3 | rem 4 | rem Copyright (c) 1991, 1999, Oracle Corporation. All rights reserved. 5 | rem 6 | rem NAME 7 | rem ulcase7s.sql - 8 | rem DESCRIPTION 9 | rem 10 | rem RETURNS 11 | rem 12 | rem NOTES 13 | rem 14 | rem MODIFIED (MM/DD/YY) 15 | rem mjaeger 07/26/99 - bug 808870: OCCS: convert tabs, no long lines 16 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 17 | rem ksudarsh 03/11/93 - comment out vms specific host command 18 | rem ksudarsh 12/30/92 - Creation 19 | rem ksudarsh 12/27/92 - Creation 20 | rem 21 | rem ULDEMO7S.SQL 22 | rem Start-script for SQL*Loader Examples, Case 7 23 | 24 | rem The variables the insert-trigger uses to save the last valid value 25 | rem are defined in a package so they will persist between calls. 26 | 27 | rem Since these values will be accessed by anyone inserting into EMP, only 28 | rem the user doing the load should have access to EMP during this time 29 | rem (Alternatively, the trigger could be modified to check the USERENV fnction 30 | rem in a WHEN clause and only perform its functions for a particular user.) 31 | 32 | set termout off 33 | rem host write sys$output "Building Package and Trigger for Case 7.Please wait" 34 | 35 | CREATE OR REPLACE PACKAGE uldemo7 AS 36 | last_deptno NUMBER; 37 | last_job CHAR(9); 38 | last_mgr NUMBER; 39 | END uldemo7; 40 | / 41 | 42 | CREATE OR REPLACE TRIGGER uldemo7_emp_insert 43 | BEFORE INSERT ON emp 44 | FOR EACH ROW 45 | 46 | BEGIN 47 | IF :new.deptno IS NOT NULL THEN 48 | uldemo7.last_deptno := :new.deptno; -- save value for later use 49 | ELSE 50 | :new.deptno := uldemo7.last_deptno; -- use last valid value 51 | END IF; 52 | 53 | IF :new.job IS NOT NULL THEN 54 | uldemo7.last_job := :new.job; -- save value for later use 55 | ELSE 56 | :new.job := uldemo7.last_job; -- use last valid value 57 | END IF; 58 | 59 | IF :new.mgr IS NOT NULL THEN 60 | uldemo7.last_mgr := :new.mgr; -- save value for later use 61 | ELSE 62 | :new.mgr := uldemo7.last_mgr; -- use last valid value 63 | END IF; 64 | 65 | END; 66 | / 67 | 68 | EXIT 69 | -------------------------------------------------------------------------------- /ulcase8.ctl: -------------------------------------------------------------------------------- 1 | -- Copyright (c) 1991, 2004 Oracle. All rights reserved. 2 | -- NAME 3 | -- ulcase8.ctl - SQL*Loader Case Study 8: Loading Partitioned Tables 4 | -- 5 | -- DESCRIPTION 6 | -- This case study demonstrates the following: 7 | -- Partitioning of data. 8 | -- 9 | -- Explicitly defined field positions and datatypes. 10 | -- 11 | -- Loading data using the fixed-record-length option. 12 | -- 13 | -- TO RUN THIS CASE STUDY: 14 | -- 1. Before executing this control file, log in to SQL*Plus as 15 | -- scott/tiger. Enter @ulcase8 to execute the SQL script for 16 | -- this case study. This prepares and populates tables and 17 | -- then returns you to the system prompt. 18 | -- 19 | -- 2. At the system prompt, invoke the case study as follows: 20 | -- sqlldr USERID=scott/tiger CONTROL=ulcase8.ctl LOG=ulcase8.log 21 | -- 22 | -- NOTES ABOUT THIS CONTROL FILE 23 | -- This control file loads the lineitem table with fixed-length 24 | -- records, partitioning the data according to shipment date. 25 | -- 26 | -- The INFILE clause specifies that each record in the datafile is 27 | -- of fixed length (129 bytes in this example). 28 | -- 29 | -- The PARTITION clause identifies the column name and location of the 30 | -- data in the datafile to be loaded into each column. 31 | -- 32 | LOAD DATA 33 | INFILE 'ulcase8.dat' "fix 129" 34 | BADFILE 'ulcase8.bad' 35 | TRUNCATE 36 | INTO TABLE lineitem 37 | PARTITION (ship_q1) 38 | (l_orderkey position (1:6) char, 39 | l_partkey position (7:11) char, 40 | l_suppkey position (12:15) char, 41 | l_linenumber position (16:16) char, 42 | l_quantity position (17:18) char, 43 | l_extendedprice position (19:26) char, 44 | l_discount position (27:29) char, 45 | l_tax position (30:32) char, 46 | l_returnflag position (33:33) char, 47 | l_linestatus position (34:34) char, 48 | l_shipdate position (35:43) char, 49 | l_commitdate position (44:52) char, 50 | l_receiptdate position (53:61) char, 51 | l_shipinstruct position (62:78) char, 52 | l_shipmode position (79:85) char, 53 | l_comment position (86:128) char) 54 | -------------------------------------------------------------------------------- /ulcase8.dat: -------------------------------------------------------------------------------- 1 | 1 151978511724386.60 7.04.0NO09-SEP-6412-FEB-9622-MAR-96DELIVER IN PERSONTRUCK iPBw4mMm7w7kQ zNPL i261OPP 2 | 1 2731 73223658958.28.09.06NO12-FEB-9628-FEB-9620-APR-96TAKE BACK RETURN MAIL 5wM04SNyl0AnghCP2nx lAi 3 | 1 3370 3713 810210.96 .1.02NO29-MAR-9605-MAR-9631-JAN-96TAKE BACK RETURN REG AIRSQC2C 5PNCy4mM 4 | 1 5214 46542831197.88.09.06NO21-APR-9630-MAR-9616-MAY-96NONE AIR Om0L65CSAwSj5k6k 5 | 1 6564 6763246897.92.07.02NO30-MAY-9607-FEB-9603-FEB-96DELIVER IN PERSONMAIL CB0SnyOL PQ32B70wB75k 6Aw10m0wh 6 | 1 7403 160524 31329.6 .1.04NO30-JUN-9614-MAR-9601 APR-96NONE FOB C2gOQj OB6RLk1BS15 igN 7 | 2 8819 82012441659.44 0.08NO05-AUG-9609-FEB-9711-MAR-97COLLECT COD AIR O52M70MRgRNnmm476mNm 8 | 3 9451 721230 41113.5.05.01AF05-SEP-9629-DEC-9318-FEB-94TAKE BACK RETURN FOB 6wQnO0Llg6y 9 | 3 9717 1834440788.44.07.03RF09-NOV-9623-DEC-9315-FEB-94TAKE BACK RETURN SHIP LhiA7wygz0k4g4zRhMLBAM 10 | 3 9844 1955 6 8066.64.04.01RF28-DEC-9615-DEC-9314-FEB-94TAKE BACK RETURN REG AIR6nmBmjQkgiCyzCQBkxPPOx5j4hB 0lRywgniP1297 11 | -------------------------------------------------------------------------------- /ulcase8.sql: -------------------------------------------------------------------------------- 1 | rem 2 | Rem $Header: ulcase8.sql 20-jul-99.18:20:38 cmlim Exp $ 3 | rem 4 | rem ulcase8.sql 5 | rem 6 | rem Copyright (c) 1998, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem ulcase8.sql - Setup for SQL Loader example 8 10 | rem 11 | rem DESCRIPTION 12 | rem Create partitioned table for example 8 13 | rem 14 | rem NOTES 15 | rem Note that all partitions are created in the default tablespace. 16 | rem Normally, each partition would be in a saparate tablespace, but we 17 | rem use the same tablespace to keep the example simple. 18 | rem 19 | rem MODIFIED (MM/DD/YY) 20 | Rem cmlim 07/20/99 - fix syntax for create table 21 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 22 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 23 | rem jstenois 11/06/98 - example of loading fix record length file 24 | rem jstenois 11/06/98 - Created 25 | rem 26 | 27 | set termout off 28 | 29 | rem host write sys$output "Building case 8 demonstration tables. Please wait" 30 | 31 | drop table lineitem; 32 | 33 | create table lineitem 34 | (l_orderkey number, 35 | l_partkey number, 36 | l_suppkey number, 37 | l_linenumber number, 38 | l_quantity number, 39 | l_extendedprice number, 40 | l_discount number, 41 | l_tax number, 42 | l_returnflag char, 43 | l_linestatus char, 44 | l_shipdate date, 45 | l_commitdate date, 46 | l_receiptdate date, 47 | l_shipinstruct char(17), 48 | l_shipmode char(7), 49 | l_comment char(43)) 50 | partition by range (l_shipdate) 51 | ( 52 | partition ship_q1 values less than (TO_DATE('01-APR-1996', 'DD-MON-YYYY')), 53 | partition ship_q2 values less than (TO_DATE('01-JUL-1996', 'DD-MON-YYYY')), 54 | partition ship_q3 values less than (TO_DATE('01-OCT-1996', 'DD-MON-YYYY')), 55 | partition ship_q4 values less than (TO_DATE('01-JAN-1997', 'DD-MON-YYYY')) 56 | ); 57 | 58 | exit 59 | -------------------------------------------------------------------------------- /ulcase9.ctl: -------------------------------------------------------------------------------- 1 | -- Copyright (c) 1991, 2004 Oracle. All rights reserved. 2 | -- NAME 3 | -- ulcase9.ctl - SQL*Loader Case Study 9: Loading LOBFILEs (CLOBs) 4 | -- 5 | -- DESCRIPTION 6 | -- This case study demonstrates the following: 7 | -- Adding a CLOB column called resume to table emp. 8 | -- 9 | -- Using a filler field (res_file). 10 | -- 11 | -- Loading multiple LOBFILEs into the emp table. 12 | -- 13 | -- TO RUN THIS CASE STUDY: 14 | -- 1. Before executing this control file, log in to SQL*Plus as 15 | -- scott/tiger. Enter @ulcase9 to execute the SQL script for 16 | -- this case study. This prepares and populates tables and 17 | -- then returns you to the system prompt. 18 | -- 19 | -- 2. At the system prompt, invoke the case study as follows: 20 | -- sqlldr USERID=scott/tiger CONTROL=ulcase9.ctl LOG=ulcase9.log 21 | -- 22 | -- NOTES ABOUT THIS CONTROL FILE 23 | -- This is an example of using SQL Loader to load LOBs from 24 | -- secondary data file. 25 | -- 26 | -- There is one file per resume (the "TERMINATED BY EOF" clause 27 | -- indicates this) and the name of the file containing the resume 28 | -- is in field res_file. 29 | -- 30 | -- res_file is a filler field. The filler field is assigned values 31 | -- from the data field to which it is mapped. This means that the 32 | -- file name stored in the field is not loaded into any field in 33 | -- the table. 34 | -- 35 | -- The resume column is loaded as a CLOB. The LOBFILE function specifies 36 | -- the field name in which the name of the file that contains data for 37 | -- LOB field is provided. 38 | -- 39 | -- The field name for column RESUME is in quotation marks because 40 | -- RESUME is also a keyword for SQL*Loader. The quotation marks force 41 | -- SQL*Loader to treat it as a column name instead. 42 | -- 43 | LOAD DATA 44 | INFILE * 45 | INTO TABLE EMP 46 | REPLACE 47 | FIELDS TERMINATED BY ',' 48 | ( EMPNO INTEGER EXTERNAL, 49 | ENAME CHAR, 50 | JOB CHAR, 51 | MGR INTEGER EXTERNAL, 52 | SAL DECIMAL EXTERNAL, 53 | COMM DECIMAL EXTERNAL, 54 | DEPTNO INTEGER EXTERNAL, 55 | RES_FILE FILLER CHAR, 56 | "RESUME" LOBFILE (RES_FILE) TERMINATED BY EOF NULLIF RES_FILE = 'NONE' 57 | ) 58 | 59 | BEGINDATA 60 | 7782,CLARK,MANAGER,7839,2572.50,,10,ulcase91.dat 61 | 7839,KING,PRESIDENT,,5500.00,,10,ulcase92.dat 62 | 7934,MILLER,CLERK,7782,920.00,,10,ulcase93.dat 63 | 7566,JONES,MANAGER,7839,3123.75,,20,ulcase94.dat 64 | 7499,ALLEN,SALESMAN,7698,1600.00,300.00,30,ulcase95.dat 65 | 7654,MARTIN,SALESMAN,7698,1312.50,1400.00,30,ulcase96.dat 66 | 7658,CHAN,ANALYST,7566,3450.00,,20,NONE 67 | -------------------------------------------------------------------------------- /ulcase9.sql: -------------------------------------------------------------------------------- 1 | rem 2 | rem $Header: ulcase9.sql 14-jul-99.14:28:05 mjaeger Exp $ 3 | rem 4 | rem ulcase9.sql 5 | rem 6 | rem Copyright (c) 1998, 1999, Oracle Corporation. All rights reserved. 7 | rem 8 | rem NAME 9 | rem ulcase9.sql - setup for SQL Loader example 9 10 | rem 11 | rem DESCRIPTION 12 | rem Add RESUME column to EMP for example of using SQL Loader to load LOBs 13 | rem 14 | rem NOTES 15 | rem Assumes an EMP table already exists 16 | rem 17 | rem MODIFIED (MM/DD/YY) 18 | rem mjaeger 07/14/99 - bug 808870: OCCS: convert tabs, no long lines 19 | rem jstenois 06/17/99 - cleanup tables before load and show feedback 20 | rem jstenois 10/26/98 - demo of 8.1 features for sqlldr 21 | rem jstenois 10/26/98 - Created 22 | rem 23 | 24 | set termout off 25 | 26 | rem host write sys$output "Building case 9 demonstration tables. Please wait" 27 | 28 | drop table emp; 29 | 30 | create table emp 31 | (empno number(4) not null, 32 | ename char(10), 33 | job char(9), 34 | mgr number(4), 35 | hiredate date, 36 | sal number(7,2), 37 | comm number(7,2), 38 | deptno number(2), 39 | resume clob); 40 | 41 | exit 42 | -------------------------------------------------------------------------------- /ulcase91.dat: -------------------------------------------------------------------------------- 1 | Resume for Mary Clark 2 | 3 | Career Objective: Manage a sales team with consistent record breaking 4 | performance. 5 | 6 | Education: BA Business University of Iowa 1992 7 | 8 | Experience: 1992-1994 - Sales Support at MicroSales Inc. 9 | Won "Best Sales Support" award in 1993 and 1994 10 | 11 | 1994-Present - Sales Manager at MicroSales Inc. 12 | Most sales in mid-South division for 2 years 13 | 14 | 15 | -------------------------------------------------------------------------------- /ulcase92.dat: -------------------------------------------------------------------------------- 1 | Resume for Monica King 2 | 3 | Career Objective: President of large computer services company 4 | 5 | Education: BA English Literature Bennington, 1985 6 | 7 | Experience: 1985-1986 - Mailroom at New World Services 8 | 9 | 1986-1987 - Secretary for sales management at New World 10 | Services 11 | 12 | 1988-1989 - Sales support at New World Services 13 | 14 | 1990-1992 - Saleman at New World Services 15 | 16 | 1993-1994 - Sales Manager at New World Services 17 | 18 | 1995 - Vice President of Sales and Marketing at New 19 | World Services 20 | 21 | 1996-Present - President of New World Services 22 | 23 | 24 | -------------------------------------------------------------------------------- /ulcase93.dat: -------------------------------------------------------------------------------- 1 | Resume for Dan Miller 2 | 3 | Career Objective: Work as a sales support specialist for a services company 4 | 5 | Education: Plainview High School, 1996 6 | 7 | Experience: 1996 - Present: Mail room clerk at New World Services 8 | -------------------------------------------------------------------------------- /ulcase94.dat: -------------------------------------------------------------------------------- 1 | Resume for Alyson Jones 2 | 3 | Career Objective: Work in senior sales management for a vibrant and 4 | growing company 5 | 6 | Education: BA Philosophy Howard Univerity 1993 7 | 8 | Experience: 1993 - Sales Support for New World Services 9 | 10 | 1994-1995 - Salesman for New World Services. Led in US 11 | sales in both 1994 and 1995. 12 | 13 | 1996 - present - Sales Manager New World Services. My sales 14 | team has beat its quota by at least 15% each year. 15 | 16 | -------------------------------------------------------------------------------- /ulcase95.dat: -------------------------------------------------------------------------------- 1 | Resume for David Allen 2 | 3 | Career Objective: Senior Sales man for agressive Services company 4 | 5 | Education: BS Business Administration, Weber State 1994 6 | 7 | Experience: 1993-1994 - Sales Support New World Services 8 | 9 | 1994-present - Salesman at New World Service. Won sales award for 10 | exceeding sales quota by over 20% in 1995, 1996. 11 | -------------------------------------------------------------------------------- /ulcase96.dat: -------------------------------------------------------------------------------- 1 | Resume for Tom Martin 2 | 3 | Career Objective: Salesman for a computing service company 4 | 5 | Education: 1988 - BA Mathematics, University of the North 6 | 7 | Experience: 1988-1992 Sales Support, New World Services 8 | 1993-present Salesman New World Services 9 | -------------------------------------------------------------------------------- /xtdemo01.dat: -------------------------------------------------------------------------------- 1 | 12,RESEARCH,"SARATOGA" 2 | 10,"ACCOUNTING",CLEVELAND 3 | 11,"ART",SALEM 4 | 13,FINANCE,"BOSTON" 5 | 21,"SALES",PHILA. 6 | 22,"SALES",ROCHESTER 7 | 42,"INT'L","SAN FRAN" 8 | -------------------------------------------------------------------------------- /xtdemo01.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: xtdemo01.sql 07-jun-2001.14:03:36 rsahani Exp $ 3 | Rem 4 | Rem xtdemo01.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem xtdemo01.sql - External Table Demo 1 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem rsahani 06/07/01 - Merged rsahani_add_xt_demos_010605 19 | Rem rsahani 06/05/01 - Created 20 | Rem 21 | 22 | SET FEEDBACK 1 23 | SET NUMWIDTH 10 24 | SET LINESIZE 80 25 | SET TRIMSPOOL ON 26 | SET TAB OFF 27 | SET PAGESIZE 100 28 | SET ECHO ON 29 | 30 | connect sys/knl_test7 as sysdba 31 | 32 | Rem Demo 1: External Table - Using variable-length data 33 | Rem ###################### 34 | Rem This demo corresponds to sql*ldr demo Case 1 in rdbms/demo/ulcase.sh 35 | Rem - FIELDS TERMINATED BY specifies that data is terminated by commas, 36 | Rem but may also be enclosed by quotation marks 37 | Rem - datatypes for all fields defaults to CHAR 38 | Rem ###################### 39 | 40 | Rem Create Directory 41 | @xtsetup.sql 42 | 43 | Rem Drop and create external table 44 | drop table xtdemo01; 45 | CREATE TABLE xtdemo01 46 | ( 47 | DEPTNO NUMBER(2), 48 | DNAME CHAR(14), 49 | LOC CHAR(13) 50 | ) 51 | ORGANIZATION external 52 | ( 53 | TYPE oracle_loader 54 | DEFAULT DIRECTORY def_dir 55 | ACCESS PARAMETERS 56 | ( 57 | RECORDS DELIMITED BY NEWLINE CHARACTERSET WE8DEC 58 | BADFILE 'deptXT.bad' 59 | LOGFILE 'deptXT.log' 60 | FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM 61 | ) 62 | location ('xtdemo01.dat') 63 | ) 64 | REJECT LIMIT UNLIMITED; 65 | 66 | Rem Query external table 67 | select * from xtdemo01 order by deptno; 68 | 69 | Rem Cleanup 70 | drop table xtdemo01; 71 | drop directory def_dir; 72 | -------------------------------------------------------------------------------- /xtdemo02.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: xtdemo02.sql 07-jun-2001.14:03:36 rsahani Exp $ 3 | Rem 4 | Rem xtdemo02.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem xtdemo02.sql - External Table Demo 2 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem rsahani 06/07/01 - Merged rsahani_add_xt_demos_010605 19 | Rem rsahani 06/05/01 - Created 20 | Rem 21 | 22 | SET FEEDBACK 1 23 | SET NUMWIDTH 10 24 | SET LINESIZE 80 25 | SET TRIMSPOOL ON 26 | SET TAB OFF 27 | SET PAGESIZE 100 28 | SET ECHO ON 29 | 30 | connect sys/knl_test7 as sysdba 31 | 32 | Rem Demo 2: External Table - Using fixed-format fields 33 | Rem ###################### 34 | Rem This demo corresponds to sql*ldr demo Case 2 in rdbms/demo/ulcase.sh 35 | Rem - POSITIONAL_SPEC is used to identify a column name and the location 36 | Rem of data in the datafile to be loaded into that column 37 | Rem - the datatypes (integer external, char, decimal external) identify 38 | Rem the datatype of data fields in file and not of corresponding 39 | Rem columns in the empXT table 40 | Rem ###################### 41 | 42 | Rem Create directory 43 | @xtsetup.sql 44 | 45 | Rem Drop and Create external table 46 | drop table empXT; 47 | CREATE TABLE empXT 48 | ( 49 | EMPNO NUMBER(4), 50 | ENAME VARCHAR2(10), 51 | JOB VARCHAR2(9), 52 | MGR NUMBER(4), 53 | SAL NUMBER(7,2), 54 | COMM NUMBER(7,2), 55 | DEPTNO NUMBER(2) 56 | ) 57 | ORGANIZATION external 58 | ( 59 | TYPE oracle_loader 60 | DEFAULT DIRECTORY def_dir 61 | ACCESS PARAMETERS 62 | ( 63 | RECORDS DELIMITED BY NEWLINE CHARACTERSET WE8DEC 64 | BADFILE def_dir:'empXT.bad' 65 | LOGFILE def_dir:'empXT.log' 66 | FIELDS LDRTRIM 67 | ( 68 | EMPNO (1:4) INTEGER EXTERNAL(4), 69 | ENAME (6:15) CHAR(10), 70 | JOB (17:25) CHAR(9), 71 | MGR (27:30) INTEGER EXTERNAL(4), 72 | SAL (32:39) INTEGER EXTERNAL(8), 73 | COMM (41:48) INTEGER EXTERNAL(8), 74 | DEPTNO (50:51) INTEGER EXTERNAL(2) 75 | ) 76 | ) 77 | location (def_dir:'ulcase2.dat') 78 | ) 79 | REJECT LIMIT UNLIMITED; 80 | 81 | Rem Query External Table 82 | select * from empXT order by empno; 83 | 84 | Rem Cleanup 85 | drop table empXT; 86 | drop directory def_dir; 87 | -------------------------------------------------------------------------------- /xtdemo03.dat: -------------------------------------------------------------------------------- 1 | 7782, "Clark", "Manager", 7839, 09-June-1981, 2572.50,, 10:101 2 | 7839, "King", "President", , 17-November-1981, 5500.00,, 10:102 3 | 7934, "Miller", "Clerk", 7782, 23-January-1982, 920.00,, 10:102 4 | 7566, "Jones", "Manager", 7839, 02-April-1981, 3123.75,, 20:101 5 | 7499, "Allen", "Salesman", 7698, 20-February-1981, 1600.00, 300.00, 30:103 6 | 7654, "Martin", "Salesman", 7698, 28-September-1981, 1312.50, 1400.00, 30:103 7 | 7658, "Chan", "Analyst", 7566, 03-May-1982, 3450,, 20:101 8 | -------------------------------------------------------------------------------- /xtdemo03.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: xtdemo03.sql 07-jun-2001.14:03:38 rsahani Exp $ 3 | Rem 4 | Rem xtdemo03.sql 5 | Rem 6 | Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved. 7 | Rem 8 | Rem NAME 9 | Rem xtdemo03.sql - External Table Demo 3 10 | Rem 11 | Rem DESCRIPTION 12 | Rem 13 | Rem 14 | Rem NOTES 15 | Rem 16 | Rem 17 | Rem MODIFIED (MM/DD/YY) 18 | Rem rsahani 06/07/01 - Merged rsahani_add_xt_demos_010605 19 | Rem rsahani 06/05/01 - Created 20 | Rem 21 | 22 | SET FEEDBACK 1 23 | SET NUMWIDTH 10 24 | SET LINESIZE 108 25 | SET TRIMSPOOL ON 26 | SET TAB OFF 27 | SET PAGESIZE 200 28 | SET ECHO ON 29 | 30 | connect sys/knl_test7 as sysdba 31 | 32 | Rem Demo 3: External Table - Using a Delimited, Free-Format File 33 | Rem ###################### 34 | Rem This demo corresponds to sql*ldr demo Case 3 in rdbms/demo/ulcase.sh 35 | Rem - general specifications are overidden with declarations for 36 | Rem individual fields: 37 | Rem some data is enclosed in quotation marks, some is set off by commas 38 | Rem and the values for DEPTNO and PROJNO are separated by colon 39 | Rem - %a (agent number), %p (process number) is appended to 40 | Rem BAD filename and LOG filename 41 | Rem ###################### 42 | 43 | Rem Create Directory 44 | @xtsetup.sql 45 | 46 | Rem Drop and create external table 47 | drop table xtdemo03; 48 | CREATE TABLE xtdemo03 49 | ( 50 | EMPNO NUMBER(4), 51 | ENAME CHAR(10), 52 | JOB CHAR(9), 53 | MGR NUMBER(4), 54 | HIREDATE DATE, 55 | SAL NUMBER(7,2), 56 | COMM NUMBER(7,2), 57 | DEPTNO NUMBER(2), 58 | PROJNO NUMBER 59 | ) 60 | ORGANIZATION external 61 | ( 62 | TYPE oracle_loader 63 | DEFAULT DIRECTORY def_dir 64 | ACCESS PARAMETERS 65 | ( 66 | RECORDS DELIMITED BY NEWLINE CHARACTERSET WE8DEC 67 | BADFILE 'empXT_%a_%p.bad' 68 | LOGFILE 'empXT_%a_%p.log' 69 | FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM 70 | ( 71 | EMPNO CHAR(255), 72 | ENAME CHAR(255), 73 | JOB CHAR(255), 74 | MGR CHAR(255), 75 | HIREDATE CHAR(20) 76 | DATE_FORMAT DATE MASK "DD-Month-YYYY", 77 | SAL CHAR(255), 78 | COMM CHAR(255), 79 | DEPTNO CHAR(255) 80 | TERMINATED BY ":" OPTIONALLY ENCLOSED BY '"', 81 | PROJNO CHAR(255) 82 | ) 83 | ) 84 | location ('xtdemo03.dat') 85 | ) 86 | REJECT LIMIT UNLIMITED; 87 | 88 | Rem Query external table 89 | select * from xtdemo03 order by empno; 90 | 91 | Rem Cleanup 92 | drop table xtdemo03; 93 | drop directory def_dir; 94 | 95 | -------------------------------------------------------------------------------- /xtdemo04.dat: -------------------------------------------------------------------------------- 1 | 1234 BAKER 10 9999 101 102 103 2 | 2664 YOUNG 20 2893 425 102 3 | 5321 OTOOLE 10 9999 321 55 40 4 | 2134 FARMER 20 4555 236 456 5 | 2414 LITTLE 20 5634 236 456 40 6 | 6542 LEE 10 4532 102 321 14 7 | 4532 PERKINS 10 9999 40 8 | 1244 HUNT 11 3452 665 133 456 9 | 123 DOOLITTLE 12 9940 132 10 | -------------------------------------------------------------------------------- /xtsetup.sql: -------------------------------------------------------------------------------- 1 | Rem 2 | Rem $Header: xtsetup.sql 06-oct-2003.13:23:55 rsahani Exp $ 3 | Rem 4 | Rem xtsetup.sql 5 | Rem 6 | Rem Copyright (c) 2001, 2003, Oracle Corporation. All rights reserved. 7 | Rem 8 | Rem NAME 9 | Rem xtsetup.sql - Create DEFAULT DIRECTORY required by 10 | Rem External Table Demos 11 | Rem 12 | Rem DESCRIPTION 13 | Rem 14 | Rem 15 | Rem NOTES 16 | Rem SQL statements for creating default directory should be 17 | Rem uncommented and modified to point to location where 18 | Rem data files referenced in external table are located 19 | Rem 20 | Rem MODIFIED (MM/DD/YY) 21 | Rem rsahani 10/06/03 - uncomment "create directory" 22 | Rem rsahani 06/07/01 - Merged rsahani_add_xt_demos_010605 23 | Rem rsahani 06/05/01 - Created 24 | Rem 25 | 26 | SET FEEDBACK 1 27 | SET NUMWIDTH 10 28 | SET LINESIZE 80 29 | SET TRIMSPOOL ON 30 | SET TAB OFF 31 | SET PAGESIZE 100 32 | SET ECHO ON 33 | 34 | connect sys/knl_test7 as sysdba 35 | 36 | Rem Drop and create default directory 37 | Rem - &1 in create directory statement below must be replaced by 38 | Rem absolute path of the directory where data files referenced 39 | Rem in external table demos are stored 40 | drop directory def_dir; 41 | 42 | create directory def_dir as '&1'; 43 | --------------------------------------------------------------------------------