Home

Oracle WebServer User's Guide

image

Contents

1. B 1 Oracle Serveis enia ohne Sieben BE ae aad ee ES E B 1 SQL mirii qian ain a EEA ENEAN EEEE E AM ce tech ale tock EREE Shed ede Sieve B 5 PE POOL viii vad ues Ye Gaeta teh EE gehaton kee ey gaan kee oe adit ated B 12 Basic Structure and Syntax sisir isheri me oia eee eee B 14 The DECLARE S ction w2heieg etic aed Soda eee Be oa B 14 The EXECUTABLE SectOti iyi53 i n9 4 essri eruit a eni Anuk ne Poe ye cers B 21 The EXCEPTION Section anei a D ppe E EE AE E B 25 Storing Procedures and Functions in the Database B 28 Database Triggers soinean E a AE AE o AAEE B 33 Oracle WebServer 2 0 User s Guide Contents Introduction To HTML ccc cc ccc cc cee cect ee eect eeeee C 1 What is TMG er eonen TE get EEEE dated daa state EEE daaet C 2 G t ng Startede preoa ea a ee evel wie Sars Bee pee aaa a oa C 3 Document Structure seiss iaee oyee aa E A eee C 4 Body Tags esiri aa Ea aa O ER E AEE ahs DEAR Da ENEE AEE C 5 Mist Tagsir be cosine E Saath E eas oe alate Nos ha C 8 Hypertext Linking ei osaa een eet Slay eb e e a E dole pew eiS C 10 Reviewing Changes to Your HTML Document 0 C 15 Adding Style to Your HTML Document 0 0008 C 15 Special ATML T g Sret enteen an a E EE da tea dae Suits dan eth aioe C 16 TABLES ssi cessed cacao cnctieten Gate onc ekg Sead tet acide Bobb Baa i inks ing C 17 GEIS RE et sb ca eat ci canst tse LE ahs te tel Maat bh d
2. Style Element or Tag Result Bold lt B gt I want this text I want this text bold bold lt B gt Italics lt I gt I want this text ital Z want this text italics ics lt I gt Underlined lt U gt I want this under I want this underlined lined lt U gt Mono spaced typewrit lt I T gt I want this text I want this text er typed lt TT gt typed You can add style to text that appears anywhere in the HTML document Combinations of styles can also be used provided you assign all the closing tags needed lt I gt Hockey lt I gt is lt B gt Life lt B gt lt P gt becomes a paragraph that looks like this Hockey is Life The style tags surround the words they affect in conjunction with other tags such as headings Be careful how many style tags you use on one page If you use too many the text may become difficult to read Special HTML Tags The following tags or characters are options provided to make your HTML document more robust Address Tag The lt ADDRESS gt tag is used to specify the author of a particular HTML document and a way to contact the author such as an email address The syntax is as follows lt ADDRESS gt address_of_author lt ADDRESS gt C 16 Oracle WebServer 2 0 User s Guide Escape Sequences The following ASCII characters have special meaning within HTML and cannot be used in regular text e left angle bracket lt e right angle bracket gt e ampersand amp
3. All form elements have Name and Value attributes Data are sent as NAME VALUE pairs separated by ampersands amp where name is given in the NAME attribute and value is given in the VALUE attribute or replaced by the user This section illustrates the basic use of HTML forms Forms can be used for simple table searches or complex queries to relational databases All forms begin with lt FORM gt and end with lt FORM gt The syntax is as follows lt FORM METHOD get post ACTION URL gt Form_elements_and_other_HTML lt FORM gt METHOD The request method supplies the data to the program There are two request methods that can be used to access your forms Depending on which request method you use you will receive the encoded results of the form in a different way e GET Information from a form is appended onto the end of the URL being requested Your CGI program receives the encoded form input in the environment variable QUERY_STRING Use of the GET method is discouraged e POST This request method transmits all form input information immediately after the requested URL Your CGI program will receive the encoded form input on standard input The server will not send you an EOF on the end of the data instead use the environment variable CONTENT_LENGTH to determine how much data you should read from standard input This is the preferred method ACTION ACTION specifies the URL being requested from the form
4. PL SQL provides two structured datatypes TABLE and RECORD It also provides a data structure called a cursor that holds the results of queries Cursors are different from the other two in that you declare variables and constants to be of type TABLE or RECORD just as you would any other datatype Cursors on the other hand have their own syntax and their own operations Explanations of these types follow PL SQL Tables These are somewhat similar to database tables except that they always consist of two columns a column of values and a primary key This also makes them similar to one dimensional arrays with the primary key functioning as the array index Like SQL tables PL SQL tables have no fixed allocation of rows but grow dynamically One of their main uses is to enable you to pass entire columns of values as parameters to subprograms With a set of such parameters you can pass an entire table The primary key is always of type BINARY_INTEGER and the values can be of any scalar type Overview of the Oracle7 Server SQL and PL SQL B 17 B 18 You declare objects of type TABLE in two stages 1 You declare a subtype using the following syntax TYPE type_name IS TABLE OF datatype_spec NOT NULL INDEX BY BINARY INTEGER Where datatype_spec means the following datatype variablenameSTYPE tablename columname STYPE In other words you can either specify the type of values directly or use the TYPE attribute explained
5. HtmlPage hp new HtmlPage hd bd hp printHeader ADD defines Oracle session properties like ORACLE_HOME Session setProperty ORACLE_HOME user oracle Session setProperty TNS_ADMIN user oracle network admin ADD creates a database session and logon Session session try session new Session scott tiger HR_DB catch ServerException e bd addItem new SimpleItem Logon fails e getSqlerrm hp print return hp print To handle any errors raised put the operation in a try catch block and trap any ServerExceptions Invoking the Employee package To invoke the Employee package you need to create a new instance of the corresponding wrapper class Then you can call the procedures and functions in the package by invoking the methods in the wrapper class Add the following code to the program import oracle html import oracle rdbms import oracle plsql ADD import Oracle classes which deal with PL SQL data types public class EmployeeReport public static void main String args HtmlHead hd new HtmlHead Employee Listing HtmlBody bd new HtmlBody HtmlPage hp new HtmlPage hd bd hp printHeader Session setProperty ORACLE_HOME user oracle Session setProperty TNS_ADMIN user oracle network admin Session session try session new Session sco
6. Overview of the Oracle7 Server SQL and PL SQL B 27 Storing Procedures and Functions in the Database Privileges Required B 28 To have a procedure or function stored as a database object you issue a CREATE PROCEDURE or a CREATE FUNCTION statement directly to the server using SQL PLUS or Server Manager The easy way to do this is to use your ordinary text editor to produce the CREATE statement and then to load it as a script This process is explained under Creating Stored Procedures and Functions in the Oracle7 Server Application Developers Guide This approach is recommended because you often create entire groups of procedures and functions together These groups are called packages and are explained later in this appendix The syntax for these statements is slightly different than that used to declare subprograms in PL SQL as the following example shows CREATE PROCEDURE fire_employee empno INTEGER IS BEGIN DELETE FROM Employees WHERE enum empno END As you can see the main difference is the addition of the keyword CREATE You also have the option of replacing the keyword IS with AS which does not affect the meaning To replace an existing procedure of the same name with this procedure as you frequently may need to do during development and testing you can use CREATE OR REPLACE instead of simply CREATE This destroys the old version if any without warning A stored procedure or function for the rest of th
7. e Set Data and Time formats e Reference true or virtual document paths e Reference sizes and modification dates of OS files e Reference information about the WebServer e Reference information about the user s browser Java Sample Applications There are two sample applications using the Java Interpreter e Hello World This simply outputs a string e Advanced Java Applications This shows how to generate a number of HTML tags dynamically 5 2 Oracle WebServer 2 0 User s Guide CHAPTER The PL SOL Web Toolkit Reference This section describes the hypertext procedures hypertext functions and utilities that make up the Oracle WebServer PL SQL Web Toolkit One of the main goals of the Oracle PL SQL Agent is to eliminate the PL SQL programmer s need to be intimately familiar with World Wide Web technology To this end the Oracle WebServer includes a PL SQL Web Toolkit made up of several PL SQL packages that minimize the programmer s need to know HTML syntax Although the programmer is still required to have a working knowledge of HTML by using the Toolkit he or she will not need to hard code the exact syntax of HTML tags into PL SQL procedures For instance a programmer still needs to realize that an anchor tag is needed but he or she doesn t need to know the exact sequence of characters needed to generate an anchor The PL SQL Web Toolkit includes the following PL SQL packages Hypertext Procedures HTP A hyper
8. htp htm1Close htp headOpen htp headClose 6 8 Parameters none Generates lt HTML gt Syntax htp htm1Close Purpose Prints a tag that indicates the end of an HTML document Parameters none Generates lt HTML gt Syntax htp headOpen Purpose Prints a tag that indicates the beginning of the HTML document head Parameters none Generates lt HEAD gt Syntax htp headClose Purpose Prints a tag that indicates the end of the HTML document head Oracle WebServer 2 0 User s Guide htp bodyOpen htp bodyClose Parameters none Generates lt HEAD gt Syntax htp bodyOpen cbackground cattributes Purpose Prints the tag that identifies the beginning of the body of an HTML document and allows you to specify an image as the background of the document Parameters cbackground in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt BODY background cbackground cattributes gt Note If cbackground and cattributes are NULL this tag generates lt BODY gt Example htp bodyOpen img background gif This line produces lt BODY background img background gif gt Syntax htp bodyClose Purpose Defines the end of the HTML document body Parameters none The PL SQL Web Toolkit Reference 6 9 Generates lt BODY gt Head Related Tags htp title htp base The following procedure tags should be placed between the htp headOpen
9. lt CENTER gt ctext lt CENTER gt Syntax htp centerOpen Purpose Prints an HTML tag to open a centered section of text within a web page Parameters none Generates lt CENTER gt Oracle WebServer 2 0 User s Guide htp centerClose htp dfn htp big Syntax htp centerClose Purpose Prints an HTML tag to close a centered section of text within a web page Parameters none Generates lt CENTER gt Syntax htp dfn ctext Purpose Prints a pair of HTML tags that specify the text they surround is rendered as italics Parameters ctext in varchar2 Generates lt DFN gt ctext lt DFN gt Syntax htp big ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround is rendered using a big font Parameters ctext in varchar2 cattributes in varchar2 DEFAULT NULL The PL SQL Web Toolkit Reference 6 25 htp small htp sub htp sup 6 26 Generates lt BIG cattributes gt ctext lt BIG gt Syntax htp small ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround is rendered using a small font Parameters ctext in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt SMALL cattributes gt ctext lt SMALL gt Syntax htp sub ctext calign cattributes Purpose Prints a pair of HTML tags that specify the text they surround is rendered as a subscript Parameters ctext in varchar2 calign in varchar2 D
10. naming conventions PL SQL B 17 tables B 18 SQL B 7 natural joins B 10 NLS file formats and 1 6 NOT NULL constraint SQL B 7 PL SQL use of B 15 NULL statement PL SQL B 23 Oracle WebServer 2 0 User s Guide nulls as Boolean values B 6 database contains B 6 differentiated from NULL statement B outer joins generate B 10 prohibiting B 7 B 15 SQL handling of B 6 ee statement SQL generates B variables initialized to PL SQL B 15 O objects ownership of database B 7 oracle html Java package 4 15 oracle plsql Java package 4 15 oracle rdbms Java package 4 15 ORACLE_HOME 4 5 outer joins B 10 output parameters B 20 overloading PL SQL procedures 4 12 overloading subprograms PL SQL B 32 owa 6 3 OWA_COOKIE 6 79 OWA_IMAGE 6 78 OWA_PATTERN 6 63 OWA_TEXT 6 75 OWA_UTIL Package 6 55 OWAINS SQL 6 3 P packages B 29 creating B 30 specification B 31 parameters actual PL SQL B 20 formal PL SQL B 20 in PL SQL B 20 in PL SQL packages B 32 modes of PL SQL B 20 multivalued 4 9 passing through forms 4 8 parent keys B 4 PATH_INFO 4 4 4 6 PL SQL blocks B 14 datatypes Java encapsulation of 4 18 declarations B 14 DECLARE section B 14 embedding dynamic output in static Web pages 1 17 EXCEPTION section B 25 EXECUTABLE section B 21 flow control in B 21 generating dynamically B 13 GOTO restrictions B 25 Java combined with 1 16 overloading subprogram
11. password This is provided if you want to password protect the DCD ensuring that only certain people connect as the user identified by username Keep in mind however that the users who connect to the database as username still will be able to do only what the application gives them the ability to specify through URLs ORACLE_HOME This is the root of the Oracle7 Server code tree in the OS file system ORACLE_SID If the PL SQL Agent is to connect to a local database this determines that database If the WRB is used the request will be handed off to a process connected already to this database if possible Developing Applications for the Oracle WebServer 4 5 SQL Net V2 Service Name or Connect String If the PL SQL Agent is to connect to a remote database this determines that database owda_err_page This is the pathname of the HTML document that the PL SQL Agent is to return to the client s browser when an error occurs in the PL SQL procedure that the PL SQL Agent invoked This is the actual path as understood by the OS not the virtual path as configured in the Web Listener owa_valid_ports The valid Web Listener network ports to which the PL SQL Agent will respond The network port is of course specified in the URL You must make sure that the URLs your applications generate provide port numbers that are valid for the WRB Service or CGI program they specify owa_log dir The directory where the PL SQL Agent writes
12. 6 74 Syntax owa_pattern match mline from_str to_str flags Purpose This version is a procedure It enables programmers to search a multi_line for a pattern and replace it Parameters mline inout multi_line from_str in varchar2 Oracle WebServer 2 0 User s Guide owa_pattern getpat OWA_TEXT Datatypes to_srt in varchar2 flags in varchar2 DEFAULT NULL Generates Revises mline parameter Syntax owa_pattern getpat arg pat Purpose This converts a VARCHAR string into the special datatype pattern This datatypes is explained under OWA_PATTERN Datatypes Parameters arg in varchar2 pat in out pattern Generates pattern The OWA_TEXT package is chiefly used by OWA_PATTERN but the functions are externalized so that you can use them directly if desired vc_array A PL SQL table of 32K VARCHAR2 strings indexed by BINARY INTEGER This is a component of owa_text multi_line multi_line A record with the following three fields int_array A PL SQL table of INTEGER indexed by BINARY INTEGER This is a component of owa_text row_list The PL SQL Web Toolkit Reference 6 75 row_list A record with the following fields Procedures and Functions owa_text stream2multi owa_text add2multi 6 76 Syntax owa_text stream2multistream mline Purpose Converts a long string to a multi_line Parameters srtream in varchar2 mline out multi_line Generates multi_line Syntax owa_text add2multi st
13. Generates lt ADDRESS CLEAR cclear NOWRAP cattributes gt cvalue lt ADDRESS gt Syntax htp Comment ctext Purpose Prints an HTML tag that allows you to store Comments or lines in HTML pages These Comments are not visible to the end user Oracle WebServer 2 0 User s Guide htp preOpen htp preClose htp blockquoteOpen Parameters ctext in varchar2 Generates lt ctext gt Syntax htp preOpen cclear cwidth cattributes Purpose Prints an HTML tag that indicates the beginning of preformatted text in the body of the HTML page Parameters cclear in varchar2 DEFAULT NULL cwidth in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt PRE CLEAR cclear WIDTH cwidth cattributes gt Syntax htp preClose Purpose Prints an HTML tag that ends the preformatted section of text Parameters none Generates lt PRE gt Syntax htp blockquoteOpen cnowrap cclear cattributes The PL SQL Web Toolkit Reference 6 19 htp blockquoteClose htp base Purpose Prints an HTML tag that precedes a paragraph of quoted text Parameters cnowrap in varchar2 DEFAULT NULL cclear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt BLOCKQUOTE CLEAR cclear NOWRAP cattributes gt Syntax htp blockquoteClose Purpose Ends the lt BLOCKQUOTE gt section of quoted text Parameters none Generates lt BLOCKQUOTE gt Synta
14. Oracle WebServer 2 0 User s Guide Basic Table Attributes Example Table Introduction To HTML This section lists the basic table attributes and their meanings BORDER This attribute appears in the Table tag If present borders are drawn around all table cells If absent there are no borders By default space is left for borders so a table has the same width with or without the border attribute ALIGN If the ALIGN attribute appears inside a lt CAPTION gt lt CAPTION gt tag it controls whether the caption appears above or below the table It can have the values top or bottom The default attribute is ALIGN top When appearing inside a lt TR gt lt TH gt or lt TD gt tag ALIGN controls whether text inside the table cell s is aligned to the left side of the cell the right side of the cell or centered within the cell Values are left center and right VALIGN The VALIGN attribute appears inside a lt TR gt lt TH gt or lt TD gt tag This attribute controls whether text inside the table cell s is aligned to the top of the cell the bottom of the cell or vertically centered within the cell It can also specify that all the cells in the row should be vertically aligned to the same baseline Values are top middle bottom and baseline NOWRAP If the NOWRAP attribute appears in any table cell the lines within this cell cannot be broken to fit the width of the cell Be cautious in use of this attribute as it can
15. When writing an HTML document organize the text by heading levels to reflect its structure and organization The first heading would be level 1 the next sub heading level 2 and so on Most browsers recognize up to six heading levels with six distinct styles Heading levels above 6 are indistinguishable from one another The largest heading is a level 1 heading The syntax of the head 1 is as follows lt H1l gt Hockey Greats on Offense lt H1 gt Other headings can be created as follows lt Hx gt Text here lt Hx gt where x is anumber between 1 and 6 specifying the heading level For example if your next heading level is a level 3 the syntax would look like the following lt H3 gt Hockey Defense lt H3 gt Unlike most word processors HTML usually ignores carriage returns Word wrapping can occur at any point in your source file Therefore paragraphs must be separated with the lt P gt tag If you do not separate your paragraphs with the lt P gt tag your document will look like one long paragraph The preformatted tag lt PRE gt allows you to present text formatted specifically to a screen The preformatted text ends at the closing lt PRE gt tag Within the preformatted text e Line breaks move to the next line e The lt P gt tag is moved to the next line C5 Forced Line Breaks C 6 e Horizontal tabs move in multiples of eight e A fixed width font is used for all characters after the lt PRE gt tag
16. Java can do many things that PL SQL cannot like access local files and manipulate multimedia objects If you need this functionality executed on the server the Java Interpreter is the way to go Creating Package Wrappers 4 16 The Java Interpreter interfaces to the Oracle7 Server by running PL SOL packages or standalone PL SQL procedures and functions Each package an application is to run must have a package wrapper which is a Java class containing methods to call that package s procedures and functions Standalone procedures and functions are all wrapped in a single wrapper Once you have identified or created the PL SQL packages your applications needs you can create the package wrappers for them by running the p 2java utility as follows pl2java flags username password connect string packagename This utility creates a wrapper class for each package given as an argument to the command When your application is run it creates an instance of this class to interface to the package If you have standalone procedures or functions in your applications run the p 2java utility without any package names but using the class flag as explained below This will create a single class wrapper for all the standalone procedures and functions you use Here are the component definitions flags Options that control how the wrappers will be created These are explained below username The name of the Oracle database user that owns the
17. Sometimes you may need to use cursor variables which are not associated with a query until runtime This is a form of dynamic SQL For more information on cursor variables see Using Dynamic SQL in the Oracle7 Server Application Developers Guide and Cursor Variables in the PL SQL User s Guide and Reference For more information on cursors in general see Cursors in the PL SQL User s Guide and Reference See also DECLARE CURSOR OPEN and FETCH in the Oracle7 Server SQL Reference You can simplify some cursor operations by using cursor FOR loops For more information on these see Using Cursor FOR Loops in the PL SQL User s Guide and Reference You also use the DECLARE section to define your own error conditions called exceptions Explanation of this is deferred until the EXCEPTION Section portion of this appendix Overview of the Oracle7 Server SQL and PL SQL B 19 Declaring Subprograms B 20 You must place all subprogram declarations at the end of the declare section following all variable constant type and exception declarations for the block The syntax is as follows PROCEDURE procedure_name param_name datatype param_name datatype IS local declarations BEGIN executable code EXCEPTION END Note For subprograms the keyword DECLARE is omitted before the local declarations Place local declarations before the keyword BEGIN as shown The names you giv
18. The WebServer Administrator normally will create file extensions that are synonyms for this type and these are what you use in your application code The default synonym is SHTML The administrator can also specify HTML as a synonym in which case all HTML files are parsed for Live HTML Unless all your HTML files actually use LiveHTML this is a bad idea as it degrades performance The WebServer Administrator can also specify that some Web Listeners are to allow full Live HTML some crippled LiveHTML and some no LiveHTML at all An application developer needs to know which Listeners are which so as to specify the correct port numbers in the URLs You can find this out by examining the WebServer Manager LiveHTML code is formatted as SGML comments so that it is ignored should the file ever find its way to the browser unparsed The format for LiveHTML codes therefore is the following lt command tagi valuel tag2 value2 gt The tags are arguments to the commands most of which actually only accept one of the possible tags The possible commands and their associated tags are as follows e config This command sets parameters for how the file or script is to be parsed and therefore is normally the first Live HTML command in a file The possible tags are errmsg This specifies the error message that is sent to the client if an error occurs while parsing this document Here is an example lt config errmsg A parse er
19. You can do this in either of the following two ways Using the isNull method to check directly whether the value is NULL Enclosing the operation ina try catch block that traps the NullValueException You must invoke the Session setProperty method to set parameters such as ORACLE_HOME that the database session requires For more information on this method refer to the standard Java hypertext reference included with this document You should try to logoff from the database explicitly when the session is no longer needed Although Java garbage collection disconnects the session when the Session object is exited this does not necessarily happen right away Java does not perform garbage collection until resources are low or the program idles Therefore it is better to disconnect the session to free up the database connection resource immediately Example of Java Database Access This section outlines a Java program that uses a PL SQL package to look up all employees from a database and generates a report in HTML In our example you have an EMP database table and an Employee PL SQL package that looks up employee information from that table This table and package are created by user scott with password tiger in database HR_DB Here is the SQL and PL SQL source code that defines the objects used by this example CREATE TABLE EMP emp_nameVARCHAR2 30 NOT NULL emp_numberNUMBER
20. and their definitions are not meaningful outside of it Objects that are local to a block may be used by subprograms contained at any level of nesting in that same block Such objects are global to the block that calls them The area of a program within which an object can be used is called the object s scope An object s scope is distinct from its visibility The former is the area of the program that can reference the object the latter is the generally smaller portion that can reference it without qualification Qualification is used to override the default resolution of ambiguous references An ambiguous reference can arise because objects or subprograms contained in different blocks can have the same names even if they have overlapping scopes When this happens the reference by default means the object most local in scope in other words the first one PL SQL finds by starting in the current block and working out to the enclosing ones Qualification is the method used to override this It is similar to the system of qualification used for database objects as explained under Ownership and Naming Conventions To qualify an object s name precede it with the name of the subprogram where it is declared followed by a dot as follows relocate transmit 245 destination This invokes a procedure called transmit declared in some subprogram called relocate The subprogram relocate must be global to the block from which it is called
21. as above for the reference to be both meaningful and unambiguous For that reason the parent key must be either a primary key the usual case or another group of columns that is unique which is known as a unique key Oracle can make sure that all primary and unique keys stay unique and that all foreign key references are valid this is called maintaining referential integrity For more information on foreign and parent keys see Chapter 7 of the Oracle7 Server Concepts Manual and CONSTRAINT clause in Chapter 4 of the Oracle7 SQL Reference Users Connections Privileges and Roles B 4 The Oracle7 Server controls which users can do what to its data To do this it uses a log on procedure that is separate from that of the operating system Once logged on the operating system you establish a connection to the Oracle7 Server with a username and password known to Oracle that may have no relationship Oracle WebServer 2 0 User s Guide to the ones used for you by the operating system For more information see CREATE USER and CONNECT in the Oracle7 Server SQL Reference The name under which you connect to Oracle7 your Oracle username is associated with a number of privileges which are the rights to perform various actions For more information on privileges see GRANT and REVOKE in Chapter 4 of the Oracle7 Server SQL Reference The PL SQL Agent as an Oracle User When you access the Oracle7 Server
22. owa_util get_owa_service_path Function owa_util tableprint Syntax owa_util get_owa_service_path Purpose Returns the name of the currently active path with its full virtual path plus the currently active DCD For example a call to get_owa_service_path could return ows bin myservice owa Parameters none Returns The DCD path The datatype is varchar2 Syntax owa_util tablePrint Purpose Enables programmers to print Oracle tables as either preformatted or HTML tables depending upon Web browser capabilities Note that RAW COLUMNS are supported however LONG RAW are not References to LONG RAW columns will print the result Not Printable In this case cattributes is the second rather than the last parameter Parameters ctable in varchar2 cattributes in varchar2 DEFAULT NULL ntable_type in integer DEFAULT HTML_TABLE ccolumns in varchar2 DEFAULT cclauses in varchar DEFAULT NULL ccol_aliasesin varchar2 DEFAULT NULL nrow_min innumber DEFAULT 0 nrow_max innumber DEFAULT NULL Oracle WebServer 2 0 User s Guide Parameters Note that ntable_type can be either owa_util html_table or owa_util pre_table Generates Prints out either a preformatted or HTML table Returns True or False as to whether there are more rows available beyond the nrow_max requested Example For browsers that don t support HTML tables create the following procedure create or replace procedure showemps is ignore_more
23. 10 emp_deptVARCHAR2 30 NOT NULL i CREATE OR REPLACE package Employee as type string_table is table of varchar2 30 index by binary_integer Developing Applications for the Oracle WebServer 4 19 type number_table is table of number 10 index by binary_integer function count_employees dept_name in varchar2 return number procedure list_employees dept_name in varchar2 employee_name out string_table employee_no out number_table end CREATE OR REPLACE package body Employee as function count_employees dept_name in varchar2 return number as employee_count number begin select count into employee_count from EMP where EMP_DEPT dept_name return employee_count end procedure list_employees dept_name in varchar2 employee_name out string_table employee_no out number_table as inumber cursor employee_rec dept_name varchar2 is select EMP_NAME EMP_NUMBER from EMP where EMP_DEPT dept_name begin i 1 for employee in employee_rec dept_name loop employee_name i employee EMP_NAME employee_no i employee EMP_NUMBER i i 1 end loop end end For reference the commands themselves are considered SQL but the code inside the packages is PL SQL Since PL SQL is a superset of SQL you can think of it all as PL SQL This example uses the oracle html package to generate dynamic HTML That package is documented under Dynamic HTML from Java The
24. Avoid using tags that define paragraph formatting such as headings or address within the lt PRE gt tags They will have no effect Let s incorporate some of the previous examples to show what the document looks like with a title a couple of heading level tags and a few paragraphs HTML gt HEAD gt TITLE gt All the Hockey Greats lt TITLE gt HEAD gt BODY gt H1 gt All the Hockey Greats Before 1970 lt H1 gt H2 gt The Original Six Teams lt H2 gt his section deals with all of the hockey legends before the expansion lt P gt he game was very different for these players lt P gt here is no way New Jersey would have won the Stanley Cup New Jersey just ould not have had the talent to do it lt P gt hicago would still be on top lt P gt All would be well lt P gt lt BODY gt lt HTML gt OS HAARA ASNA AANA The result would display something like this All The Hockey Greats Before 1970 The Original Six Teams This section deals with all of the hockey legends before the expansion The game was very different for these players There is no way New Jersey would have won the Stanley Cup New Jersey just would not have had the talent to do it Chicago would still be on top All would be well Note The title All the Hockey Greats would not show within the document itself On most browsers it would be displayed in the title bar The lt BR gt tag forces a line to break The best example of the
25. FOR Loops WHILE Loops GOTO Statements B 24 A FOR loop as in most languages repeats a group of statements a given number of times The following FOR loop is equivalent to the example used for basic loops except that it also changes a variable called interest FOR credit IN 1 5 LOOP interest interest 1 2 END LOOP The numbers used to specify the range in this case 1 and 5 can be variables so you can let the number of iterations of the loop be determined at runtime if you wish A WHILE loop repeats a group of statements until a condition is met Here is a WHILE loop that is the equivalent of the preceding example credit 1 WHILE credit lt 5 LOOP interest interest 1 2 credit credit 1 END LOOP Unlike some languages PL SQL has no structure such as REPEAT UNTIL that forces a LOOP to execute at least once You can create this effect however using either basic or WHILE loops and setting a variable to a value that will trigger the loop as in the above example For more information on loops see Iterative Control in the PL SQL User s Guide and Reference A GOTO statement immediately transfers execution to another point in the program The point in the program where the statement is to arrive must be preceded by a label A label is an identifier for a location in the code It must be unique within its scope and must be enclosed in double angle brackets as follows lt lt this_is_a_label
26. Oracle PL SQL Agent itself None of the subprograms in this package should be called directly from user developed PL SQL Pattern Matching Utilities QWA_PATTERN This is a set of procedures and functions you can use to perform string matching and substitution with rich regular expression functionality Text Manipulation Utilities OQWA_TEXT This is a set of procedures functions and datatypes used by OWA_PATTERN for manipulating large data strings They are externalized so you can use them directly if you wish Oracle WebServer 2 0 User s Guide Image Map Utilities OQWA_IMAGE This is a set of datatypes and functions for manipulating HTML image maps Cookie Utilities QWA_COOKIE This is a set of datatypes procedures and functions for manipulating HTML cookies Installing the Oracle WebServer PL SQL Web Toolkit To install the PL SQL Web Toolkit use the Oracle PL SQL Agent DCD Administration forms Both the DCD Creation and DCD Modification pages provide a checkbox for installing the PL SQL Web Toolkit Selecting this button and submitting the form will do the following e grant the CONNECT and RESOURCE roles to the OWA database user For more information on these roles or on granting roles see GRANT roles in Chapter 4 of the Oracle7 Server SQL Reference e execute the OWAINS SQL sql script which can be found in the ows Administration directory If run manually the script should be run from SQL DBA or from Serv
27. Overview produces lt H1 gt Overview lt H1 gt Syntax htp anchor curl ctext cname cattributes Purpose Prints the HTML tag for an anchor to be the start or end destination of a hypertext link This anchor can accept several attributes but either HREF or Oracle WebServer 2 0 User s Guide htp anchor2 htp mailto NAME is required HREF specifies where to link to NAME allows this tag to be a target of a hypertext link Parameters curl in varchar2 ctext in varchar2 chame in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt A HREF curl NAME cname cattributes gt ctext lt A gt Syntax htp anchor2 curl ctext cname ctarget cattributes Purpose Prints the HTML tag for an anchor to be the start or end destination of a hypertext link This anchor can accept several attributes but either HREF or NAME is required HREF specifies where to link to NAME allows this tag to be a target of a hypertext link This procedure differs from htp anchor in that it provides a target and therefore can be used for a frame Parameters curl in varchar2 ctext in varchar2 chame in varchar2 DEFAULT NULL ctarget in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt A HREF curl NAME cname TARGET ctarget cattributes gt ctext lt A gt Syntax htp mailto caddress ctext cname cattributes Purpose Prints the HTML tag for an anchor with mai
28. PDouble employee_number throws ServerException Notice that the constructor takes a Session object as a parameter to encapsulate the database connection This is because each time a PL SQL package procedure or function is accessed in a session it is instantiated In effect a copy is created that is the private property of that session This gives the package a stable state for that session while leaving it free to have another state when called by another session Overriding Default Value Sizes When a PL SQL function returns a value whose size is variable for example VARCHAR2 LONG RAW or LONG RAW the size of the value is set by Developing Applications for the Oracle WebServer 4 21 4 22 default to 255 bytes In the wrapper class you may change the default size by setting the following variable for the PL SQL function in question lt function name gt _ lt overload number gt _return_length The overload number is the number of other functions that exist with the same name as this one To find out about overloading of functions in PL SQL see Overloading Subprograms For more information on overload numbers specifically see the PL SQL User s Guide and Reference You can find out what the overload number of a function is by using the Oracle7 Server standard package dbms_describe as covered in the Oracle7 Server Administrator s Guide For non overloaded functions the overload number is 0 For example ass
29. References to parent directories or uses of absolute pathnames are forbidden e echo This gives the value of an environment variable This variable is either one of the standard CGI environment variables or one of the LiveHTML extensions which currently are all standard Server Side Include variables There is only one tag var and it must be present It provides the name of the variable The Live HTML environment variables are as follows DOCUMENT_NAME The current filename DOCUMENT _URL The virtual path to this file QUERY_STRING_UNESCAPED If the client sent a query string this is an unescaped version of it with all shell special characters escaped with DATE_LOCAL The current date and local time zone in the format specified by the most recent config timefmt command DATE_GMT Same as the above but in Greenwich mean time Developing Applications for the Oracle WebServer 4 31 LAST_MODIFIED The last modification date of the file given in the format specified in the last config timefmt command e fsize This produces the size of the file in the format specified in the most recent config filesize command Tags are the same as for include e flastmod This produces the last modification date of the file in the format specified in the most recent config timefmt command Tags are the same as for include e exec This is the command to execute a script The tags specify whether or not the script is CGI cmd This
30. SQL and PL SQL B 5 Retrieving Data Suppose you wanted to pull from the Customers table the information on customers named Peel This is called making a query To do it you could issue the following statement SELECT FROM Customers WHERE LNAME Peel This produces the following CNUM FNAME LNAME ADDRESS 4005 Julia Peel 197 Myrtle Court Brisbane CA Oracle interprets the statement as follows Any number of spaces and or line breaks are equivalent to one space or line break These are delimiters and the extra spaces and line breaks are for readability all are equivalent white space Likewise case is not significant except in literals like the string you are searching for Peel SELECT is a keyword telling the database that this is a query All SQL statements begin with keywords The asterisk means to retrieve all columns alternatively you could have listed the desired columns by name separated by commas The FROM Customers clause identifies the table from which you want to draw the data WHERE LNAME Peel is a predicate When a SQL statement contains a predicate Oracle tests the predicate against each row of the table and performs the action in this case SELECT on all rows that make the predicate TRUE This is an example of set at a time operation The predicate is optional but in its absence the operation is performed on the entire table so that in this case the entire table woul
31. This URL will almost always point to a CGI script to decode the form results If you are referring to a script on the same server as the form you can use a relative URL C 21 Form Tags C 22 TEXTAREA The lt TEXTAREA gt tag is used to allow a user to enter more than one line of text in a form The following is an example of the TEXTAREA tag lt TEXTAREA NAME address ROWS 14 COLS 60 gt Chicago Blackhawks 1800 Madison Ave Chicago Il 60612 lt TEXTAREA gt The attributes included within the lt TEXTAREA gt tag are used to initialize the field s value The lt TEXTAREA gt tag is always required even if the field is initially blank The following are attributes of lt TEXTAREA gt and determine the visible dimensions of the field in characters e NAME user defined name e ROWS height in characters of TEXTAREA e COLS width in characters of TEXTAREA If you want text to appear within the text area enter it between the start and end lt TEXTAREA gt tags INPUT The lt INPUT gt tag allows you to input a single word or line of text with a default width of 20 characters It is usually preceded with some descriptive text The following are attributes of lt INPUT gt e CHECKED When present indicates that a checkbox or radio button is selected e MAXLENGTH The maximum number of characters that will be accepted as input This limits the number of characters a user can type into the field The form will give
32. arrays for employee names and numbers pEmployeeName new PStringBuffer employeeCount pEmployeeNumber new PDouble employeeCount ADD allocate the buffers to retrieve employee information for int i 0 i lt employeeCount itt max length of employee name is 30 characters pEmployeeName i new PStringBuffer 30 pEmployeeNumber i new PDouble ADD call Employee package to look up employees in the dept try employee list_employees pDeptName pEmployeeName pEmployeeNumber catch ServerException e bd addiItem Fail to retrieve employee information for department deptName e getSqlerrm row row hp print return ADD generate report DynamicTable tab new DynamicTable 2 TableRow row new TableRow row addCell new TableHeaderCell Employee Name addCell new TableHeaderCell Employee Number tab addRow row for int i 0 i lt employeeCount i row new TableRow if pEmployeeNumber i isNull addCell new TableDataCell pEmployeeName i toString addCell new TableDataCell new employee else addCell new TableDataCell pEmployeeName i toString addCell new TableDataCell pEmployeeNumber i toString tab addRow row Oracle WebServer 2 0 User s Guide hp addItem tab hp print ADD logoff from database try session logoff catch ServerExce
33. as shown for TABLE and as explained under Declaring Variables Oracle WebServer 2 0 User s Guide Exceptions You can also define a record type that automatically mirrors the structure of a database table or of a cursor so that each record of the type corresponds to a row and each field in the record corresponds to a column To do this use the ROWTYPE attribute with a table or cursor name in the same way you would the TYPE attribute with a variable or column The fields of the record inherit the column names and datatypes from the cursor or table For more information see Records and ROWTYPE Attribute in the PL SQL User s Guide and Reference Cursors A cursor is a data structure that holds the results of a query a SELECT statement for processing by other statements Since the output of any query has the structure of a table you can think of a cursor as a temporary table whose content is the output of the query When you declare a cursor you associate it with the desired query When you want to use that cursor you open it executing the associated query and filling the cursor with its results You then fetch each row of the query s output in turn for processing by other statements in the program You can also use a cursor to update a table s contents To do this use a FOR UPDATE clause to lock the rows in the table See Using FOR UPDATE in the PL SQL User s Guide and Reference for more information
34. boolean begin ignore_more owa_util tablePrint emp BORDER OWA_UTIL PRE_TABLE end and requesting a URL like this example http myhost 8080 ows bin hr owa showemps returns to the client lt PRE gt EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7369 SMITH CLERK 7902 17 DEC 80 800 20 7499 ALLEN SALESMAN 7698 20 FEB 81 1600 300 30 7521 WARD SALESMAN 7698 22 FEB 81 1250 500 30 7566 JONES MANAGER 7839 02 APR 81 2975 20 7654 MARTIN SALESMAN 7698 28 SEP 81 1250 1400 30 7698 BLAKE MANAGER 7839 01 MAY 81 2850 30 7782 CLARK MANAGER 7839 09 JUN 81 2450 10 7788 SCOTT ANALYST 7566 09 DEC 82 3000 20 7839 KING PRESIDENT 17 NOV 81 5000 10 7844 TURNER SALESMAN 7698 08 SEP 81 1500 0 30 7876 ADAMS CLERK 7788 12 JAN 83 1100 20 7900 JAMES CLERK 7698 03 DEC 81 950 30 7902 FORD ANALYST 7566 03 DEC 81 3000 20 7934 MILLER CLERK 7782 23 JAN 82 1300 10 lt PRE gt To view just the employees in department 10 and only their employee ids names and salaries create the following procedure create or replace procedure showemps_10 is ignore_more boolean begin ignore_more owa_util tablePrint EMP BORDER OWA_UTIL PRE_TABLE empno ename sal where deptno 10 order by empno Employee Number Name Salary end A request for a URL like http myhost 8080 ows bin hr owa showemps_10 would return the f
35. converted to the datatypes specified in the declaration the formal parameters To find out which datatypes PL SQL can convert automatically look under Datatype Conversion in the PL SQL User s Guide and Reference The reason this is permitted is so you can overload subprograms Overloading permits you to have several versions of a procedure that are conceptually similar but behave differently with different parameters This is one of the properties of Oracle WebServer 2 0 User s Guide object oriented programming For more information on overloading see Overloading in the PL SQL User s Guide and Reference Database Triggers Creating Triggers Triggers are blocks of PL SQL code that execute automatically in response to events Database triggers reside in the database and respond to changes in the data They are not to be confused with application triggers which reside in applications and are beyond the scope of this discussion Database triggers are a technology that for the most part has superseded application triggers You create triggers as you do stored procedures and packages by using your text editor to write scripts that create them and then using SQL Plus or Server Manager to run these scripts A trigger is like a package in that It takes no parameters as such It refers to responds to and possibly affects the data in the database It cannot be directly called like a procedure To fire execute a trigg
36. data structures that have components you can address independently The PL SQL composite types are TABLE which is distinct from both database and HTML tables and RECORD These types are explained later in this appendix e Reference There is one kind of reference datatype REF CURSOR which is a pointer to a cursor Cursors are explained later in this appendix For more information on the REF CURSOR datatype see Using Cursor Variables in the PL SQL User s Guide and Reference For a list and explanation of all PL SQL datatypes see Datatypes in the PL SQL User s Guide and Reference In many cases you can convert from one datatype to another either explicitly or automatically The possible conversions and the procedure involved are explained in the PL SQL User s Guide and Reference under Datatype Conversion You can also define a variable so that it inherits its datatype from a database column or from another variable or constant as explained in the next section For variables provide the name datatype and any desired attributes as follows cnum INTEGER 5 NOT NULL This declares a five digit integer called cnum that will not accept nulls The use of case above serves to distinguish keywords from identifiers PL SQL is not case sensitive NOT NULL is the only SQL constraint that you can use as a PL SQL attribute Note PL SQL initializes all variables to null Therefore a NOT NULL variable such as
37. display any file that resides on the user s disk For example file home jjones jjones ntml displays the file j jones htm1 from the directory home jjones on the local machine http Access a page over the network by way of the HTTP protocol This is the most common method usually used to get an HTML document For example http www acme com accesses Acme s home page mailto Activate a mail session to the specified username and host For example mailto jjones us acme com mails a message to jjones if the browser supports mail creation Note that the mailto method does not require double forward slashes after the colon C 11 ftp Retrieve a file using anonymous FTP from a server For example ftp hostname directory filename servername port is optional and indicates the full hostname of a machine connected to the network For example www oracle com is the fully qualified hostname of Oracle s web server If a servername is not specified the URL is a relative link and it is assumed that the file is on the same server that was used to display the current page An IP address may be used instead of a hostname although it is not recommended to build content with embedded IP addresses is the TCP port number that the web server is running on The default is 80 if port is not specified This parameter is not used in most URLs pathname is the relative or absolute pathname of the document being accessed
38. e double quote To use these characters you must use these escape sequences Table C 1 There are several more escape sequences to support accented characters such as the umlaut or the tilde A full list of supported characters can be found in any number of reference manuals on HTML syntax See also the list of on line HTML references at the end of this appendix Tables Basic Table Tags Introduction To HTML Tables in HTML organize data by row and column Tables can contain a wide range of content such as headers lists paragraphs or figures They can include any element or tag in HTML Cells can be merged across rows or columns This section describes the basic table tags and their meanings C 17 Table lt TABLE gt lt TABLE gt This is the main wrapper for all the other table tags Other table tags can be ignored if they aren t wrapped inside of the lt TABLE gt lt TABLE gt tags By default tables have no borders Borders are added if the BORDER attribute is specified See the next section Basic Table Attributes Table Row lt TR gt lt TR gt The number of rows in a table is specified by how many lt TR gt tags are contained within it lt TR gt can have both the ALIGN and VALIGN attributes which if specified become the default alignments for all cells in this row See the next section Basic Table Attributes Table Data lt TD gt lt TD gt This specifies a st
39. es eek actos EA patil Bae ed Benge Gel 1 10 The Web Request Broker WRB 0 000000 1 11 PL SQL Aent 6s ise ia et Bene OLA Bee E A e eee iit 1 13 JAMA ci welt Mec heat E E E Ole ee hag ety 1 15 Live TM repre bbe yp he ee be eh Gg bs Saad Weak eS Raed Bye e HET Se 1 16 Using the Oracle WebServer Manager 0 cece cece cece ee eeee 2 1 Setting Up a Secure Oracle WebServer 0 cece cece eens 3 1 Developing Applications for the Oracle WebServer 4 1 Application Development an Overview 0 000 c cece eee eee 4 1 Server EXtensions iiss Ais cies eects dilated aca iia aaa ae aoi 4 2 The PL SQL Agents ess geass ees pee be eed Ree ii en HOO BOE Ee 4 4 The Javal Interpreten as is eden sis agus ai thd 4 taee idee acto o 4 15 The LiveHTML Interpreter 0 2 0 tieu Cria enia nE e ee ee 4 30 Sample Applications 0 cee cece eee e eee neeeeeee 5 1 The PL SQL Web Toolkit Reference 0 cece eee c cece eeeees 6 1 Installing the Oracle WebServer PL SQL Web Toolkit 6 3 Procedure and Function Reference 60 000 snarur rraren 6 5 Head Related Tagsir eroine aae e a A nee eens 6 10 Body Tags pre Sorkka hs wad og ER AEEA RI Een Beets B ea yates 6 13 Frame lagst24 sic dass iene a E E eels nh E E seat te Yana 6 29 List Tags ois ocd tiie Seg Wiens eeo Eei Se E ee Eola Sie be OE e EE 6 31 Character Format Tags rete medens ee enia a a E TA AA i 6 37 Phys
40. example lt HTML gt lt HEAD gt lt TITLE gt A11l the Hockey Greats lt TITLE gt lt HEAD gt Note Technically the start and end tags for lt HTML gt lt HEAD gt and lt BODY gt are not needed However they are recommended because the head and body structure tags allow a browser to determine certain properties of a document such as the lt TITLE gt without having to parse or go through the whole document Most browsers display the contents of the lt TITLE gt tag in the title bar of the window containing the document and in the bookmark file of the browser if it supports one The title surrounded by lt TITLE gt and lt TITLE gt tags is placed between the head tags as shown above The title of a document does not appear in the contents of the document window however You must separately indicate it as a heading inside the body of the document if you want it to appear there Oracle WebServer 2 0 User s Guide Body Tags Body Tag Heading Levels Paragraph Tag Preformatted Tag Introduction To HTML The body tags specifically identify the body components in an HTML document The body of an HTML document can contain links text and formatting information inside of the lt BODY gt and lt BODY gt tags The body of the document should be marked off with the lt BODY gt and lt BODY gt tags This is the part of the document that is displayed as the page of text and graphics on your Web browser
41. is better optimized for database access than the Java cartridge but doesn t have all of Java s functionality e The Java Interpreter This cartridge lets you execute Java on the server to generate dynamic Web pages You can also execute PL SQL from within Java using this cartridge e The LiveHTML Interpreter This cartridge is Oracle s implementation and extension of the industry standard Server Side Includes functionality Oracle WebServer Concepts 1 11 WRB Services LiveHTML enables you to include in your Web pages the output of any program that your Operating System can execute The combination of a cartridge and its WRB API constitute the WRB Service WRBxs are instances of WRB Services so that there are three WRB Services corresponding to the three WRB cartridges while the WRBXs are created and destroyed according to the workload The Dispatcher determines which WRB Service to send a given request to on the basis of the path and the file extension MIME type specified in the URL You configure the WRB in the WebServer Manager to determine which combinations of path and extension correspond to which Services The WRB APTis designed so that third parties can write their own extensions to the WebServer The three cartridges listed above come with the WebServer but you can obtain additional cartridges from third parties or write your own The WRB Services can also augment the access control specified by the Liste
42. line in varchar2 from_loc in integer pat inout pattern backrefs out owa_text vc_arr flags in varchar2 DEFAULT NULL Generates Location in number of characters from the beginning of the end of the match 0 if none such owa_pattern change version 1 Syntax owa_pattern match line from_str to_str flags Purpose This version is a function It enables programmers to search a string for a pattern and replace it Parameters line inout varchar2 from_str in varchar2 to_str in varchar2 flags in varchar2 DEFAULT NULL Generates Revises line parameter Function outputs number of substitutions made owa_pattern change version 2 Syntax owa_pattern match line from_str to_str flags Purpose This version is a procedure It enables programmers to search a string for a pattern and replace it The PL SQL Web Toolkit Reference 6 73 Parameters line in out varchar2 from_str in varchar2 to_srt in varchar2 flags in varchar2 DEFAULT NULL Generates Revises line parameter owa_pattern change version 3 Syntax owa_pattern match mline from_str to_str backrefs flags Purpose This version is a function It enables programmers to search a multi_line for a pattern and replace it Parameters mline in out multi_line from_str in varchar2 to_srt in varchar2 flags in varchar2 DEFAULT NULL Generates Revises mline parameter Function outputs number of substitutions made owa_pattern change version 4
43. lt A HREF intro gt Gordie Howe lt A gt The symbol instructs your web browser to look through the HTML document for a named anchor called intro When the user clicks on Gordie Howe the browser displays the heading Introduction to Hockey at the top of the screen Note As specified earlier in the URL syntax a link to a section can appear in the same document or in another document The example here describes a link toa specific section of the same document Reviewing Changes to Your HTML Document At some point you will want to view the changes you have made to your HTML document The following steps show you how to view your changes 1 After you have edited your HTML file in your favorite text editor save the file 2 If you are currently displaying the document in a browser you will need to reload it to see the changes Select File gt Reload on the browser window In some browsers reload will be under another menu item The browser will read in the new file information and display the file with the changes you have made Adding Style to Your HTML Document HTML tags offer several text styles so that you can emphasize any text in your document The following is a short list of the most often used tag styles e bold e italics e underline Introduction To HTML C 15 e mono spaced typewriter style You can also use combinations of styles for example bold and italics
44. match line pat backrefs flags The PL SQL Web Toolkit Reference 6 69 Purpose Enables programmers to search a string for a pattern using regular expression Parameters line in varchar2 pat in varchar2 backrefs out owa_text vc_arr flags in varchar2 DEFAULT NULL Generates Boolean indicating whether match was found owa_pattern match version 4 Syntax owa_pattern match line pat backrefs flags Purpose Enables programmers to search a string for a pattern using regular expression Parameters line in varchar2 pat inout pattern backrefs out owa_text vc_arr flags in varchar2 DEFAULT NULL Generates Boolean indicating whether match was found owa_pattern match version 5 6 70 Syntax owa_pattern match mline pat rlist flags Purpose Enables programmers to search a string for a pattern using regular expression Parameters mline inowa_text multi_line pat in varchar2 Oracle WebServer 2 0 User s Guide rlist out owa_text row_list flags in varchar2 DEFAULT NULL Generates Boolean indicating whether match was found owa_pattern match version 6 Syntax owa_pattern match mline pat rlist flags Purpose Enables programmers to search a string for a pattern using regular expression Parameters mline in owa_text multi_line pat inout pattern rlist out owa_text row_list flags in varchar2 DEFAULT NULL Generates Boolean indicating whether match was found owa_pattern amatch version
45. of database database failed due to error number Action See the associated error and take the appropriate action OWS 05611 Shutdown of database database failed due to error number Action See the associated error and take the appropriate action OWS 05620 DB Admin no database selected Cause A button was pressed to startup or shutdown the database but no database had been selected Action Return to the administration screen and select a database OWS 05621 DB Admin database is already running Cause A request was made to start up a database but that database is already running Action If you would like to restart the database shut it down first or choose Startup Force OWS 05622 DB Admin database is already shut down Cause A request was made to shut down a database but that database is already shut down Oracle WebServer Messages 7 7 OWS 05623 DB Admin parameter file filename is larger than maximum size number bytes Cause The initialization file listed was larger than the maximum allowable size Action Reduce the size of the initialization file 5700 5799 Oracle Web Listener Configuration errors and messages OWS 05710 Value submitted for parameter must not be NULL Action Type a value for the specified parameter and re submit the form OWS 05711 Port number is already in use by the Oracle Web Administration Server Ca
46. oriented principles such as encapsulation It uses a C like syntax This makes the language easier for C programmers to learn It is multi threaded in effect executing several chains of control flow concurrently The Java language itself provides tools for managing the threads rather than relying exclusively on the OS It prohibits direct memory manipulation In Java there are no pointers and no direct memory allocation This eliminates a rich source of C s functionality and an even richer source of its bugs You can embed calls to Java applets in Web pages and the applet will be executed by the browser provided it is Java enabled Most major browsers plan to support Java Note Though powerful Java is a young technology Oracle WebServer supports it because of its rich features and wide acceptance However you should be aware that it may be somewhat less stable than more mature technologies Oracle WebServer Concepts 1 15 Client vs Server Side Java Oracle WebServer supports the use of Java either on the client which is to say any Java enabled Web browser or on the server Code to be executed on the client is for the most part extracted and manipulated like other data The best way to handle such code is to store it in the OS file system and extract it in real time You can also execute Java as a WRB cartridge on the WebServer itself You might want to do this for example to perform graphical manipulation for
47. s format which can represent language MIME type or encoding For ease of maintenance it s best to advertise a file to clients only by its base name allowing clients and server to negotiate formats transparently Oracle WebServer 2 0 User s Guide Dynamic Document Generation Using the Oracle Web Listener your web site can respond to client requests by generating HTML documents dynamically This allows you to customize your WebServer s responses Like most HTTP engines the Oracle Web Listener allows clients to use the Common Gateway Interface CGI to run programs on the server machine to perform special processing and return data to the client The Web Request Broker Unlike other HTTP engines the Oracle Web Listener provides an interface called the Oracle Web Request Broker WRB which allows clients to run programs on the server machine and return data much more efficiently than CGI allows To do this the Web Listener passes requests intended for these programs to the WRB Dispatcher which maintains a pool of processes to which it can assign the requests See The Web Request Broker WRB for more information The Secure Sockets Layer The Secure Sockets Layer SSL is an emerging standard for secure data transmission over the Internet One problem with communicating sensitive information over the Internet is that almost every connection between two computers over a network involves many intermediate steps a chai
48. specified PL SQL procedure function or package If a procedure or function which belongs to a package is specified then the entire package is displayed Parameters cname in varchar2 Generates Generates the source code of the specified PL SQL procedure Syntax owa_util showpage Purpose This procedure allows a user to view the HTML output of a PL SQL procedure call from SQL Plus SQL DBA or Oracle Server Manager The PL SQL procedure must use HTP and or HTF to generate the HTML page and owa_util showpage must be issued after the PL SQL procedure has been called and before any other HTP or HTF subprograms are directly or indirectly called This method is useful for generating pages filled with static data Purpose Note that this procedure uses dbms_output and thus is limited to 255 characters per line and an overall buffer size of 1 000 000 bytes Oracle WebServer 2 0 User s Guide Parameters none Generates One can use this procedure to generate static pages in SQL Plus that can then be accessed as a standard HTML page For example SQL gt set serveroutput on SQL gt spool gretzky html SQL gt execute hockey pass Gretzky SQL gt execute owa_util showpage SQL gt exit This would generate an HTML page which could be accessed from Web clients owa_util get_cgi_env function Syntax owa_util get_cgi_env param_name in varchar2 Purpose Allows programmer to retrieve the value of the specified CGI environment variab
49. subject and we have been able only to scratch the surface of it here To make it easier for you to find the specific information you need to perform the task at hand we provide the following table which identifies where in the Oracle7 Server documentation set you can find Overview of the Oracle7 Server SQL and PL SQL B 11 information on specific SQL topics Unless otherwise noted find the headings in Chapter 4 of the Oracle7 Server SQL Reference To Find Out About Look Under aggregate data totals counts SQL Functions in Chapter 3 of the averages and so on Oracle7 Server SQL Reference changing user passwords ALTER USER connecting to the database CONNECT constraints CONSTRAINT clause CREATE TABLE ENABLE clause controlling user access to objects GRANT REVOKE CREATE and user actions ROLE SET ROLE see also Chapters 17 and 18 in the Oracle7 Server Concepts Manual creating databases CREATE DATABASE creating users CREATE USER functions that change simple SQL Functions in Chapter 3 of the values Oracle7 Server SQL Reference linking databases at different CREATE DATABASE LINK see locations also Distributed Databases in the Oracle7 Server Concepts Manual making changes to the COMMIT SET TRANSACTION data permanent SAVEPOINT making SQL statements execute CREATE INDEX see also more quickly Indexes in the Oracle7 Server Concepts Manual monitoring databas
50. that it accesses The filename of the DCD is given in the URL as a file within the directory configured for the PL SQL Agent The file need not actually reside in that directory its association with the PL SQL Agent is set in the WebServer Manager PL SQL Agent configuration page If the PL SQL Agent is invoked through CGI the DCD precedes the script name owa with the two separated by a slash Oracle WebServer also provides you with Java classes that can invoke PL SQL For more information see Java or the Java Interpreter The PL SQL WebToolkit 1 14 To make it easier for you to develop Web applications using Oracle data Oracle WebServer provides you a group of PL SQL packages that you can use to easily generate Web pages from data stored in an Oracle database These packages are called the PL SQL Web Toolkit The intent is for you to create PL SQL procedures that access and process the Oracle data you wish to place on the Web From within these procedures you call the PL SQL Web Toolkit procedures you need to create the HTML you want You store the procedures you write in the database just as other PL SQL packages including the toolkit are stored You also design your Web pages including the dynamically generated ones to produce URLs that call the PL SQL procedures you want in response to specified user actions Having your code executed within the database brings many performance security and portability benefits For m
51. the Oracle7 Server to fulfil an HTTP request A URL that requires the use of the PL SQL Agent includes the name of the DCD it is to use The information in the DCD includes the username which also specifies the schema and the privileges password connect string error log file standard error message and the language to be used Data Integrity A mechanism that uses digital signatures to ensure that transmitted data is not tampered with DCD See Database Connection Descriptor DCD Default Character Set The character set the Web Listener uses in interpreting a file that uses an unrecognized character set Default DCD The Database Connection Descriptor DCD that the PL SQL Agent uses to access a database in response to a request that does not specify an available DCD Default MIME Type The Multipurpose Internet Mail Extensions MIME type that the Web Listener uses in interpreting requested files of an unsupported MIME type See also MIME Type A 3 A 4 Digest Authentication An authentication scheme that encrypts passwords before sending them over the Internet unlike basic authentication See also Authentication Digital Signature A signature attached to an electronic document that reliably identifies the author or sender and guarantees that the document has not been tampered with Directory Indexing The practice of returning a directory listing when a request URL resolves to a directory that does not c
52. the Web Request Broker WRB a program to be accessed through the CGI interface or whether access to the file system of the machine on which the Listener resides is sufficient If WRB access is required the Listener passes the request to WRB Dispatcher for processing then it returns to the task of listening for more incoming HTTP requests The WRB Dispatcher handles requests with the aid of a pool of processes called WRB Executable Engines WRBXs Each WRBX interfaces to a back end application using the WRB API These applications are called WRB cartridges The WRB API is designed so third parties can add their own cartridges The combination of a cartridge and the WRB API is known as a WRB Service Currently Oracle WebServer support three kinds of WRB Services Oracle WebServer 2 0 User s Guide e PL SQL cartridges These execute stored PL SQL procedures to generate HTML dynamically using Oracle data e Java cartridges These execute Java code on the Server e LiveHTML These embed Web pages within one another and store in Web pages the output of scripts executed by the Operating System The Web Listener The Oracle Web Listener is a HyperText Transfer Protocol HTTP engine that responds to requests for hypermedia documents from web browsers clients This section summarizes the Web Listener s capabilities Network Communication Ports IP Addresses Every Oracle Web Listener process accepts connections from web brows
53. the above produces an error if referenced before it is assigned a value Optionally you can assign an initial value to the variable when you declare it by following the datatype specification with an assignment as follows cnum INTEGER 5 254 This sets cnum to the initial value of 254 Alternatively you can use the keyword DEFAULT in place of the assignment operator to achieve the same effect For more information on setting defaults see Declarations in the PL SQL User s Guide and Reference Overview of the Oracle7 Server SQL and PL SQL B 15 Declaring Constants Defining Types Scope and Visibility B 16 Inheriting Datatypes To have the variable inherit the datatype of a database column or of another variable use the TYPE attribute in place of a declared datatype as follows snum cnum STYPE This means that snum inherits the datatype of cnum You can inherit datatypes from database columns in the same way by using the notation tablename columname in place of the variable name Normally you do this if the variable in question is to place values in or retrieve them from the column The advantages are that you need not know the exact datatype the column uses and that you need not change your code if the datatype of that column changes If you do not own the table containing the column precede the tablename with the schemaname as described under Ownership and Naming Conventions For more information on T
54. third party such as a courier before the two parties can exchange encrypted messages This makes keys vulnerable to theft or tampering while in transit Public Key Encryption 1 8 To avoid this problem SSL uses a form of encryption called public key encryption to encrypt and decrypt transmitted data Unlike secret key encryption systems a public key system uses pairs of keys key pairs One key called the public key is used to encrypt messages while the other called the private key is used to decrypt messages The two keys are large numbers that are related mathematically in such a way that it takes a very long time to calculate the private key from the public key If you want to receive encrypted messages using public key encryption you must first run a program that generates a key pair You must then publish the public key in a public database or directory and store the private key in a secure location on your computer This is critical The effectiveness of public key encryption depends entirely on the secrecy of the private key Anyone who wants to send you an encrypted message must look up your public key in a directory use it encrypt the message and send you the encrypted message Only your private key can decrypt the message so if you have kept your private key secret no one else can read the message Because public key encryption is much slower than secret key encryption SSL uses it only when the client first connects
55. through the WebServer you use a PL SQL Agent that already has an established connection to the Server When a URL causes the Web Listener to invoke the PL SQL Agent it associates the PL SQL Agent with a service based on the URL and or the domain name of the issuer of the URL This service determines the Oracle user that the PL SQL Agent behaves as when executing this request and thereby controls what that request can do SQL SQL Structured Query Language is the language you use to issue instructions to the Oracle7 Server It is in fact the standard language used by all major relational database vendors and Oracle complies at Entry Level with SQL92 the most recent ISO International Standards Organization standard There are several aspects of SQL that may differ from computer languages that you are familiar with such as the following e SQL is non procedural In SQL you tell the Server what to do but not how it is to be done This frees you from dealing with a lot of detail e SQL statements are independent of one another Although PL SQL addresses this SQL itself has no conditional or other control flow statements e SQL employs set at a time operation It operates on arbitrarily large sets of data in a single step e SQL uses Nulls and Three Valued Logic In most languages Boolean expressions are either TRUE or FALSE In SQL they are TRUE FALSE or NULL This will be explained shortly Overview of the Oracle7 Server
56. time to objects that do not yet exist and for that reason the one part of SOL that PL SQL does not include is DDL Data Definition Language the statements such as CREATE TABLE that create the database and the objects it contains However you can work around this by using the package DBMS_SQL included with the server to generate the DDL code itself dynamically at runtime For more information see Using DDL and Dynamic SOL in the PL SQL User s Guide and Reference Overview of the Oracle7 Server SQL and PL SQL B 13 Basic Structure and Syntax PL SQL like many programming languages groups statements into units called blocks These can either be named in which case they are called subprograms or unnamed in which case they are anonymous blocks Subprograms can be either functions or procedures The difference between these as in most languages is that a function is used in an expression and returns a value to that expression while a procedure is invoked as a standalone statement and passes values to the calling program only through parameters Subprograms can be nested within one another and can be grouped in larger units called packages A block has three parts e The DECLARE Section This is where you define local variables constants types exceptions and nested subprograms PL SQL has a forward declaration but you can use it only for subprograms Therefore you must define all variables constants and types b
57. topics covered in this section are as follows e The Oracle7 Server A conceptual overview of what a relational database is e SQL An introduction to the standard language used to interface to relational databases e PL SQL An introduction to Oracle s extension of SQL that makes it a versatile high level programming language Oracle7 Server The Oracle7 Server is a Relational Database Management System RDBMS That is to say the job of the Oracle7 Server is to manage data Users or other processes store alter and obtain the data by issuing statements in SOL that the RDBMS executes but they never directly access the data Having all the information under the control of a single entity ensures for example that the information maintains a coherent structure and that simultaneous changes by different users do not interfere with one another Database Tables Saying that Oracle7 is a Relational Database Management System implies that all of the data it contains is structured as tables tables are called relations in mathematical jargon B 2 Oracle WebServer 2 0 User s Guide Foreign Keys Here is a simple table such as you might find in an Oracle database CNUM FNAME LNAME ADDRESS 4005 Julia Peel 197 Myrtle Court Brisbane CA 4007 Terry Subchak 2121 Oriole Way Boston MA 4008 Emilio Lopez 31D San Bruno Ave SF CA 4011 Kerry Lim 455 32nd St 45 Brinton KY The Customer
58. under Declaring Variables to inherit the datatype from an existing variable or database column 2 You assign objects to this subtype in the usual way You cannot assign initial values to tables so the first reference to the table in the EXECUTABLE section must provide it at least one value When you reference PL SQL tables you use an array like syntax of the form column_value primary_key_value In other words the third row value of a table called Employees would be referenced as follows Employees 3 You can use these as ordinary expressions For example to assign a value to a table row use the following syntax Employees 3 Marsha For more information see PL SQL Tables in the PL SQL User s Guide and Reference Records As in many languages these are data structures that contain one or more fields Each record of a given type contains the same group of fields with different values Each field has a datatype which can be RECORD In other words you can nest records creating data structures of arbitrary complexity As with tables you declare records by first declaring a subtype using the following syntax TYPE record_type IS RECORD fieldname datatype fieldname datatype The second line of the above indicates a parenthesized comma separated list of fieldnames followed by datatype specifications The datatype specifications can be direct or be inherited using the TYPE attribute
59. 1 Syntax owa_pattern match line from_loc pat flags Purpose Enables programmers to search a string for a pattern using regular expressions Parameters line in varchar2 from_loc ini nteger pat in varchar2 flags in varchar2 DEFAULT NULL Generates Location in number of characters from the beginning of the end of the match 0 if none such The PL SQL Web Toolkit Reference 6 71 owa_pattern amatch version 2 Syntax owa_pattern match line from_loc pat flags Purpose Enables programmers to search a string for a pattern using regular expression Parameters line in varchar2 from_loc in integer pat inout pattern flags in varchar2 DEFAULT NULL Generates Location in number of characters from the beginning of the end of the match 0 if none such owa_pattern amatch version 3 Syntax owa_pattern match line from_loc pat backrefs flags Purpose Enables programmers to search a string for a pattern using regular expression Parameters line in varchar2 from_loc in integer pat in varchar2 backrefs out owa_text vc_arr flags in varchar2 DEFAULT NULL Generates Location in number of characters from the beginning of the end of the match 0 if none such owa_pattern amatch version 4 Syntax owa_pattern match line from_loc pat backrefs flags 6 72 Oracle WebServer 2 0 User s Guide Purpose Enables programmers to search a string for a pattern using regular expression Parameters
60. 150 Females 64 130 Table 1 lt TABLE BORDER gt lt CAPTION ALIGN bottom gt Table 1 lt CAPTION gt lt TR gt lt TD ROWSPAN 2 gt lt TD gt lt TH COLSPAN 2 gt Average lt TH gt lt TR gt lt TR gt lt TH gt Height lt TH gt lt TH gt Weight lt TH gt lt TR gt lt TR gt lt TD gt Males lt TD gt lt TD ALIGN center gt 69 lt TD gt lt TD ALIGN center gt 150 lt TD gt lt TR gt lt TR gt lt TD gt Females lt TD gt lt TD ALIGN center gt 64 lt TD gt lt TD ALIGN center gt 130 lt TD gt lt TR gt lt TABLE gt Forms C 20 HTML pages can be formatted in any fashion but remain read only The HTML form feature brings the added advantage of being interactive An HTML form lets the Web user enter comments and specify database search criteria When a form is interpreted by a Web browser a special graphical user interface GUTI screen is created with text entry fields buttons checkboxes pull down menus and scrolling lists When the Web user fills out the form and presses a button indicating the form should be submitted the information on the form is sent to an HTTP server for processing by a CGI Common Gateway Interface program Oracle WebServer 2 0 User s Guide Forms Syntax Introduction To HTML When you write a form each of your input items has an lt INPUT gt tag When the user places data in these items in the form that information is encoded into the form data and is known as the value
61. ALSE except that negation does not make it positive but leaves it NULL The IF statement has the following forms IF lt condition gt THEN lt statement list gt END IF If the condition following IF is TRUE PL SQL executes the statements in the list following THEN A semicolon terminates this list END IF not ENDIF is mandatory and terminates the entire IF statement Here is an example IF balance gt 500 THEN send_bill customer END IF We are assuming that send_bill is a procedure taking a single parameter IF lt condition gt THEN lt statement list gt ELSE lt statement list gt END IF This is the same as the preceding statement except that if that condition is FALSE or NULL PL SQL executes the statement list following ELSE instead of that following THEN IF lt condition gt THEN lt statement list gt ELSIF lt condition gt THEN lt statement list gt ELSIF lt condition gt THEN lt statement list gt ELSE lt statement list gt END IF Oracle WebServer 2 0 User s Guide Basic Loops You can include any number of ELSIF not ELSEIF conditions Each is tested only if the IF condition and all preceding ELSIF conditions are FALSE or NULL As soon as PL SQL finds an IF or ELSIF condition that is TRUE it executes the associated THEN statement list and skips ahead to END IF The ELSE clause is optional but if included must come last It is executed if all preceding IF and ELSIF conditions
62. ANGE This causes the string that matched the regular expression to be included in the string that replaces it This differs from the other tokens in that it specifies how a target is changed rather than how it is matched This is explained further under CHANGE Any of the above tokens except amp can have its meaning extended by any of the following quantifiers You can also apply these quantifiers to literals 0 or 1 occurrence s 0 or more occurrences 1 or more occurrence s n Exactly n occurrences n At least n occurrences n m At least n but not more than m occurrences In addition to targets and regular expressions the OWA_PATTERN functions and procedures can use flags to affect how they are interpreted The recognized flags are as follows i This indicates a case insensitive search The PL SQL Web Toolkit Reference 6 65 Datatypes g This applies only to CHANGE It indicates a global replace That is to say all portions of the target that match the regular expression are replaced The following special datatype is used by OWA_PATTERN pattern A PL SQL table see PL SQL Tables of 4 byte VARCHAR2 strings indexed by BINARY INTEGER This is an alternative way to store your regular expression than in simple VARCHAR strings The advantages of this is that you can use a pattern as both an input and output parameter Thus you can pass the same regular expression to several subsequent OWA_PATTERN function calls
63. EFAULT NULL Oracle WebServer 2 0 User s Guide cnowrap in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt TD ALIGN calign DP cdp ROWSPAN crowspan COLSPAN ccolspan NOWRAP cattributes gt cvalue lt TD gt OWA_UTIL Package owa_util signature The OWA_UTIL Package is a set of useful utility procedures built on top of hypertext functions and hypertext procedures Syntax owa_util signature Purpose Prints an HTML line followed by a signature line on the HTML document Parameters none Generates Prints a signature line in the HTML document that might look like the following This page was produced by the Oracle PL SQL Agent on August 9 1995 09 30 owa_util signature cname Syntax owa_util signature cname Purpose Allows the programmer to create a signature line on the bottom of the HTML document that has a hypertext link to view the PL SQL source for that procedure Parameters cname in varchar2 The PL SQL Web Toolkit Reference 6 55 Generates Prints a signature line on the bottom of the HTML document that has a link to the actual PL SQL source for that procedure The link calls the procedure showsource The line would look like the following This page was produced by the Oracle PL SQL Agent on 6 14 95 09 30 View PL SOL Source owa_util showsource cname owa_util showpage Syntax owa_util showsource cname Purpose Prints the source of the
64. EFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt SUB ALIGN calign cattributes gt ctext lt SUB gt Syntax htp sup ctext calign cattributes Oracle WebServer 2 0 User s Guide htp basefont htp fontOpen Purpose Prints a pair of HTML tags that specify the text they surround is rendered using as a superscript Parameters ctext in varchar2 calign in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt SUP ALIGN calign cattributes gt ctext lt SUP gt Syntax htp basefont nsize Purpose Prints an HTML tag that specifies the base font size for a web page Parameters nsize in integer Generates lt BASEFONT SIZE nsize gt Syntax htp fontOpen ccolor cface csize cattributes Purpose Prints an HTML tag that indicates the beginning of a section of text with the specified font characteristics Parameters ccolor in varchar2 DEFAULT NULL cface in varchar2 DEFAULT NULL csize in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL The PL SQL Web Toolkit Reference 6 27 htp fontClose htp plaintext htp s 6 28 Generates lt FONT COLOR ccolor FACE cface SIZE csize cattributes gt Syntax htp fontClose Purpose Prints an HTML tag that indicates the end of a section of text with the specified font characteristics Parameters none Generates lt FONT gt Syntax htp plaintext ctext cattributes Purpose Prints a pair of HTML tag
65. ICAGO 6 62 Oracle WebServer 2 0 User s Guide Customized Extensions to HTP Packages The design of the hypertext procedure and function packages allows you to use customized extensions Therefore as the HTML standard changes you can add new functionality similar to the hypertext procedure and function packages to reflect those changes Here is an example of customized packages using non standard lt BLINK gt and imaginary lt SHOUT gt tags create package nsf as function blink cbuf in varchar2 return varchar2 function shout cbuf in varchar2 return varchar2 end create package body nsf as function blink cbuf in varchar2 return varchar2 is begin return lt BLINK gt cbhuf lt BLINK gt end function shout cbuf in varchar2 return varchar2 is begin return lt SHOUT gt cbhuf lt SHOUT gt end end create package nsp as procedure blink cbhuf in varchar2 procedure shout cbuf in varchar2 end create package body nsp as procedure blink cbuf in varchar2 is begin htp print nsf blink cbuf end procedure shout cbuf in varchar2 is begin htp print nsf shout cbuf end end Now you can begin to use these procedures and functions in your own procedure create procedure nonstandard as begin nsp blink Gee this hurts my eyes htp print And I might nsf shout get mad end For more examples of using the P1 SQL Web Toolk
66. L cattributes in varchar2 DEFAULT NULL Generates lt OPTION SELECTED cattributes gt cvalue See example for htp formSelectOpen Oracle WebServer 2 0 User s Guide htp formSelectClose htp formTextarea Example See htp formSelectOpen Syntax htp formSelectClose Purpose Prints an HTML tag that ends a Select list of alternatives Parameters none Generates lt SELECT gt Example See htp formSelectOpen Syntax htp formTextarea cname nrows ncolumns calign cattributes Purpose Prints an HTML tag that creates a text field that has no predefined text in the text area Used to enable the user to enter several lines of text Parameters cname in varchar2 nrows in integer ncolumns in integer calign in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt TEXTAREA NAME cname ROWS nrows COLS ncolumns ALIGN calign cattributes gt lt TEXTAREA gt The PL SQL Web Toolkit Reference 6 49 htp formTextarea2 Syntax htp formTextarea cname nrows ncolumns calign cwrap cattributes Purpose Prints an HTML tag that creates a text field that has no predefined text in the text area Used to enable the user to enter several lines of text The difference between this and formTextarea is the cwrap parameter which specifies a wrap style Parameters cname in varchar2 nrows in integer ncolumns in integer calign in varchar2 DEFAULT NULL cwrap in varchar2 DEFAU
67. LT NULL cattributes in varchar2 DEFAULT NULL Generates lt TEXTAREA NAME cname ROWS nrows COLS ncolumns ALIGN calign WRAP cwrap cattributes gt lt TEXTAREA gt htp formTextareaOpen 6 50 Syntax htp formTextareaOpen cname nrows ncolumns calign cattributes Purpose Prints an HTML tag that opens a text area where you can insert predefined text that will always appear in the text field Parameters cname in varchar2 nrows in integer ncolumns in integer calign in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt TEXTAREA NAME cname ROWS nrows COLS ncolumns ALIGN calign cattributes gt Oracle WebServer 2 0 User s Guide htp formTextareaO pen2 Syntax htp formTextareaOpen cname nrows ncolumns calign cwrap cattributes Purpose Prints an HTML tag that opens a text area where you can insert predefined text that will always appear in the text field The difference between this and formTextareaOpen is the cwrap parameter which specifies a wrap style Parameters cname in varchar2 nrows in integer ncolumns in integer calign in varchar2 DEFAULT NULL cwrap in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt TEXTAREA NAME cname ROWS nrows COLS ncolumns ALIGN calign WRAP cwrap cattributes gt htp formTextareaClose Syntax htp formTextareaClose Purpose Prints an HTML tag that ends Tex
68. ON function_name param_name param_name datatype RETURN datatype IS local declarations BEGIN executable code EXCEPTION local exception handlers END Oracle WebServer 2 0 User s Guide Again line breaks are only for readability A RETURN statement in the executable section actually determines what the return value is This consists of the keyword RETURN followed by an expression When the function executes the RETURN statement it terminates and passes the value of that expression to whichever statement called it in the containing block You can also use the RETURN statement without an expression in a procedure to force the procedure to exit For more information on procedures and functions see Declaring Subprograms in the PL SQL User s Guide and Reference The EXECUTABLE Section Assignments Flow Control The executable section is the main body of code It consists primarily of SQL statements flow control statements and assignments SQL statements are explained earlier in this appendix assignments and flow control statements are explained in the sections that follow The assignment operator is For example the following statement assigns the value 45 to the variable a a 45 Character strings should be set off with single quotes as in all expressions An example follows FNAME Clair There are other examples of assignments in other parts of this appendix PL SQL suppor
69. Oracle WebServer User s Guide Release 2 0 2 Production Part No A23646 2 ORACLE Enabling the Information Age Oracle WebServer User s Guide 2 0 2 Part No A23646 2 Copyright Oracle Corporation 1996 All rights reserved Printed in the U S A If you have not read this copyright page you should read it in its entirety If you have read this page you can go directly to the Table of Contents If you find any errors omissions or have any suggestions on how the information in this manual can be improved please e mail Oracle WebServer Documentation Primary Authors Martin Gruber Kennan Rossi Contributors Seshu Adunuthula Mala Anand Matt Bookman Walter Hudson Kelly Ireland Magnus Lonnroth Raymond Ng Mary Owen Robert Pang Charles Prael Ankur Sharma John Zussman This software was not developed for use in any nuclear aviation mass transit medical or other inherently dangerous applications It is the customer s responsibility to take all appropriate measures to ensure the safe use of such applications if the programs are used for such purposes This software documentation contains proprietary information of Oracle Corporation it is provided under a license agreement containing restrictions on use and disclosure and is also protected by copyright law Reverse engineering of the software is prohibited If this software documentation is delivered to a U S Government Agency of the Depart ment of Def
70. PTION It contains code that responds to runtime errors An exception is a specific kind of runtime error When that kind of error occurs you say that the exception is raised An exception handler is a body of code designed to handle a particular exception or group of exceptions Exception handlers like the rest of the code are operative only once the code is compiled and therefore can do nothing about compilation errors There are two basic kinds of exceptions predefined and user defined The predefined exceptions are provided by PL SQL in a package called STANDARD They correspond to various runtime problems that are known to arise often for example dividing by zero or running out of memory These are listed in the PL SQL User s Guide and Reference under Predefined Exceptions The Oracle Server can distinguish between and track many more kinds of errors than the limited set that STANDARD predefines Each of Oracle s hundreds of messages are identified with a number and STANDARD has simply provided labels for a few of the common ones You can deal with the other messages in either or both of two ways Overview of the Oracle7 Server SQL and PL SQL B 25 e You can define your own exception labels for specified Oracle messages using a pragma a compiler directive This procedure will be explained shortly e You can define a handler for the default exception OTHERS Within that handler you can identify the specific error by acce
71. Province the full name of the state or province where your organization is located VeriSign does not accept abbreviations e Country the two character ISO format abbreviation for the country where your organization is located The country code for the United States is US e Email Address the email address where VeriSign can contact you e Thename and version number of the application for which you are getting the certificate you should accept the default value When you have entered all the requested information genreq responds with Thank you and processes the data you have entered When it is finished it outputs done and returns you to the main menu 12 Type Q to quit the program Requesting a Certificate To request a certificate email the request generated by genreq to VeriSign Inc a subsidiary of RSA Data Security Inc The certification process can take time from a few days to several weeks The more organized and complete your paperwork the better your chances are for quick certification Preparing Your WebServer Host Machine For your WebServer to be secure as advertised to clients you must make sure that no unauthorized person has access to your WebServer s host machine Here are some suggestions Setting Up a Secure Oracle WebServer 3 3 e Place the machine in a locked server room e Limit distribution of keys or combinations to the server room to a few trusted individuals e Set up a secure a
72. QL Agent whether executed through the WRB or CGI must connect to the Oracle7 Server to run If the PL SQL Agent uses the WRB the WRBX connects to the database in the following two stages e Jt establishes the connection The WRBX does this as soon as it is created e Itlogs on to the database This is a separate operation and the WRBX does not do this until a request comes in so as to give each request a separate Oracle WebServer Concepts 1 13 database session Once the request is handled the WRBX logs off of the database but keeps the connection intact Since the first stage actually takes most of the time involved in establishing a database session this technique speeds execution considerably yet the effect is as though each request connected to the database independently If run through CGI the PL SQL Agent must go through the entire procedure for each request The username schema and password that the PL SQL Agent uses to connect is specified by the URL through the use of a DCD as explained below Specifying the Database Connection A URL that invokes the PL SQL Agent must specify a DCD Database Connection Descriptor This is an OS file maintained by the WebServer that provides the username password database and other information to be used to establish the database connection The DCD determines both the database access privileges the PL SQL Agent has when executing this request and the schema portion of the database
73. QL Web Toolkit Reference 6 35 htp menulistOpen htp menulistClose Parameters ctext in varchar2 DEFAULT NULL cclear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt DT CLEAR cclear cattributes gt ctext Syntax htp menulistOpen Purpose Prints an HTML tag that begins a list that presents one line per item and appears more compact than an unordered list The htp listItem will follow this tag Parameters none Generates lt MENU gt Syntax htp menulistClose Purpose Prints an HTML tag that ends a menu list Paramenters none Generates lt MENU gt Oracle WebServer 2 0 User s Guide htp dirlistOpen htp dirlistClose Syntax htp dirlistOpen Purpose Prints an HTML tag that begins a directory list This presents information in a list of items that contain up to 20 characters Items in this list are typically arranged in columns typically 24 characters wide The lt LI gt or htp listItem must appear directly after you use this tag Parameters none Generates lt DIR gt Syntax htp dirlistClose Purpose Prints an HTML tag that closes the directory list tag htp dirlistOpen Parameters none Generates lt DIR gt Character Format Tags The character format tags are used to specify or alter the appearance of the marked text Character format tags have opening and closing elements and affect only the text that they surround Character format ta
74. R gt lt A HREF Write gt Write lt A gt to me Click below to send me Comments lt BR gt lt A HREF mailto oldstadium madison com gt lt I gt crazed4hawks oldstadium madison com lt I gt lt A gt lt BODY gt lt HTML gt NA KR KAKA AKRKAAKRAKAAKRKRAAAADO KG More Information about HTML For online information on HTML the following URL sites provide a wealth of information http www ncsa uiuc edu demoweb html primer html http union ncsa uiuc edu HyperNews get www html html http fire clarkson edu doc html htut html http ugweb cs ualberta ca gerald guild html html C 26 Oracle WebServer 2 0 User s Guide Introduction To HTML C 27 Index ROWTYPE attribute B 19 TYPE attribute B 16 B 18 A aliases for database objects B 8 for database tables B 10 ALTER TRIGGER statement SQL B 35 anchors structure of C 13 used in hypertext linking C 10 applets defined 1 15 embedded in Web pages 1 15 wrapping in server side Java 4 15 application developers 1 1 applications components of 4 1 specifying 4 4 structure of in Java 4 18 arrays implemented as tables in PL SQL B 17 assignments initial B 15 values to parameters PL SQL B 20 values to variables PL SQL B 21 authentication 1 5 automatic recompilation PL SQL B 30 B basic authentication 1 5 blocks PL SQL B 14 Boolean logic IF statements and PL SQL B 22 Three Valued in SQL B 6 bro
75. TE TRIGGER give_bonus AFTER UPDATE OF sales ON salespeople FOR EACH ROW WHEN sales gt 8000 00 BEGIN UPDATE salescommissions SET bonus bonus 150 00 END Oracle WebServer 2 0 User s Guide Privileges Required This creates a row trigger called give_bonus Every time the sales column of the salespeople table is updated the trigger checks to see if it is over 8000 00 If so it executes the PL SQL block consisting in this case of a single SOL statement that increments the bonus column in the salescommissions table by 150 00 To create a trigger in your own schema you must have the CREATE TRIGGER system privilege and one of the following must be true e You own the table associated with the trigger e You have the ALTER privilege on the table associated with the trigger e You have the ALTER ANY TABLE system privilege To create a trigger in another user s schema you must have the CREATE ANY TRIGGER system privilege To create such a trigger you precede the trigger name in the CREATE TRIGGER statement with the name of the schema wherein it will reside using the conventional dot notation Referring to Altered and Unaltered States You can use the correlation variables OLD and NEW in the PL SQL block to refer to values in the table before and after the triggering statement had its effect Simply precede the column names with these variables using the dot notation If these names are not suitable you can define others using
76. Text Procedures body tags 6 13 character format tags 6 37 definition of 6 1 form tags 6 42 head related tags 6 10 list tags 6 31 physical format tags 6 41 printing procedures 6 6 structural tags HTML 6 7 table tags 6 51 IF statement PL SQL B 22 Index 4 image maps defined 1 16 dynamic 1 16 6 78 mies section PL SQL packages B input parameters B 20 INSERT statement SQL B 8 int_array 6 75 IP addresses 1 3 restricting access to specified 1 6 ISMAP attribute C 14 J Java application structure 4 18 client side 1 16 database connections 4 18 error handling 4 18 generating HTML from 4 25 NULL handling in 4 19 overview of 1 15 PL SQL combined with 1 16 PL SQL datatypes in 4 18 proscribes direct memory management 5 server side 1 16 4 15 wrappers for PL SQL 4 16 joins B 9 natural B 9 outer B 10 L labels PL SQL B 24 languages file formats and 1 6 specified for WRBXs 1 12 LAST_MODIFIED 4 31 Index 5 links to other documents C 10 to other sections C 14 list tags 6 31 definition C 10 nested C 9 ordered C 8 types of C 8 unordered C 9 Listener 1 3 LiveHTML environment variables 4 31 executing programs from 4 32 overview of 1 16 PL SQL Agent can be called from 1 17 tags 4 30 loops PL SQL B 23 exiting nested B 24 FOR B 24 WHILE B 24 M mailto C 11 memory management of 1 5 proscribed in Java 1 15 multi_line 6 75 N
77. The following is an example of an ordered list lt OL gt lt LI gt Gordie Howe lt LI gt Rocket Richard lt LI gt Howie Morenz lt OL gt Oracle WebServer 2 0 User s Guide Unordered Lists Nested Lists Introduction To HTML In an unordered list the browser typically uses bullets or dashes to indicate the items in your list Each browser has its own way of indicating an unordered list An unordered list begins with lt UL gt and ends with lt UL gt The following is an example of an unordered list lt UL gt lt LI gt Gordie Howe lt LI gt Rocket Richard lt LI gt Howie Morenz lt UL gt Here is an example of how to nest a list within another lt lt lt T lt lt B lt H1 gt Hockey Greats before Expansion lt H1 gt lt H2 gt The Original Six Teams lt H2 gt This section deals with all of the hockey legends before the expansion lt P gt lt UL gt lt LI gt Gordie Howe lt LI gt Rocket Richard lt LI gt Howie Morenz lt U lt L lt I lt gt great player gt good stickhandler lt LI gt Bobby Orr lt HTML gt Here s what the example would look like Hockey Greats before Expansion The Original Six Teams This section deals with all of the hockey legends before the expansion e Gordie Howe e Rocket Richard e Howie Morenz great player good stickhandler e Bobby Orr C 9 Definition Lists Note When you create nested lists using HTML you do not need
78. Varchar2 A standard datatype of the Oracle7 Server A variable length string Virtual Machine VM The mechanism the Java language uses to achieve its high portability Java bytecode is executable by any Java Virtual Machine running on any actual machine The VM converts the bytecode to the native code for the machine at hand Virtual File System A mapping that associates the pathnames used in request URLs to the file system maintained by the host machine s operating system Virtual Pathname A synonym that the virtual file system maps to a file stored in the file system maintained by the host machine s operating system Web Listener See Listener Web Request Broker WRB The core of the Oracle WebServer architecture The Web Request Broker passes http requests that require the running of Server programs to various processes WRB Executable Engines or WRBX s that continuously run and await such requests The WRB also includes an open Oracle WebServer 2 0 User s Guide Glossary API so you can run your own Server programs under it The WRB is a more efficient alternative to the industry standard CGI but it can process requests that use CGI environment variables WebServer Administrator Person in charge of configuring and running the Oracle WebServer WebServer Manager A collection of utilities and HTML forms you can use to configure and maintain the WebServer installed on your computer Wrapper A Java class
79. YPE assignments see Declarations in the PL SQL User s Guide and Reference You declare constants the same way as variables except for the addition of the keyword CONSTANT and the mandatory assignment of a value Constants do not take attributes other than the value An example follows interest CONSTANT REAL 5 2 759 32 User defined types in PL SQL are subtypes of existing datatypes They provide you with the ability to rename types and to constrain them by specifying for your subtype lengths maximum lengths scales or precisions as appropriate to the standard datatype on which the subtype is based For more information on the datatype parameters see Datatypes in Chapter 2 of the Oracle7 Server SQL Reference For more information on PL SQL datatypes see Datatypes in the PL SQL User s Guide and Reference You can also use the TYPE attribute in defining a subtype Here is an example SUBTYPE shortnum IS INTEGER 3 This defines SHORTNUM as a 3 digit version of INTEGER For more information see User Defined Subtypes in the PL SQL User s Guide and Reference Nested subprograms defined in the DECLARE section can be called from either of the other sections but only from within the same block where they are defined or within blocks contained in that block Variables constants types and Oracle WebServer 2 0 User s Guide Data Structures subprograms defined within a block are local to that block
80. ables e A type inherited from a table most likely the table the cursor queries using the ROWTYPE attribute For more information see Records e A type inherited from a cursor using the ROWTYPE attribute For more information see Records For more information see CREATE PACKAGE in Chapter 4 of the Oracle7 Server SQL Reference Packages in the PL SQL User s Guide and Reference and Using Procedures and Packages in the Oracle7 Server Application Developers Guide Creating the Package Body To create the package body use the CREATE PACKAGE BODY statement The syntax is as follows CREATE OR REPLACE PACKAGE BODY package_name IS PL SQL declarations Overview of the Oracle7 Server SQL and PL SQL B 31 END Since a package as such does not do anything the PL SQL code still consists only of a DECLARE section with the keyword DECLARE omitted It is the subprograms within the package that contain the executable code Variables constants types and cursors declared directly in other words not within a subprogram in the declare section have a global scope within the package body Variables constants and types already declared in the package specification are public and should not be declared again here Public cursors and subprograms however must be declared again here as their declarations in the specification is incomplete This time the declarations must include the PL SQL code in the case of subprog
81. ally applets are imported from the Internet or another computer network Application Developer A person who writes programs that the WebServer and or the Oracle7 Server executes Authentication a A security scheme that requires a client to enter a user name and password to access certain files provided by the WebServer b The practice of signing an electronic document in a legally binding way using digital signatures Base Directory The directory name to which URL encoded pathnames addressed to this port are to be appended For example if the base directory is public_html the URL http www blob com file is converted to http www blob com public_html file Basic Authentication An authentication scheme that does not encrypt passwords when sending them over the Internet Basic authentication is much less secure than digest authentication See also Digest Authentication and Authentication Bytecode Java code is interpreted in two steps First itis converted from source code the Java code as written to bytecode which is a form executable by any platform on which Java runs When the bytecode is executed it is converted from bytecode to the native code for the platform in question CA See Certifying Authorit Certificate A file provided by a certifying authority CA and installed on a WebServer machine that the WebServer uses to authenticate itself to clients requesting secure connections Certifying Autho
82. an error beep if the user tries to enter too many characters This can be greater that specified by SIZE in which case the field will scroll appropriately The default is unlimited e NAME Symbolic field name used when transferring the form s contents This attribute is always needed and should uniquely identify this field e SIZE Specifies how large an area to allocate in characters on the screen e SRC A URL specifying an image for use only with TYPE IMAGE Oracle WebServer 2 0 User s Guide Introduction To HTML TYPE Defines the type of data the field accepts Defaults to free text Several types of fields can be defined with the TYPE attribute CHECKBOX Used for simple Boolean attributes or for attributes that can take multiple values at the same time The latter is represented by a number of checkbox fields each of which has the same NAME Each occurrence of a checkbox is either ON or OFF For a multi valued attribute there is a checkbox for each attribute indicating whether the attribute applies The various attributes are associated with one another by the fact that each attribute checkbox uses the same name Each selected checkbox generates a separate NAME VALUE pair in the submitted data even if this results in duplicate names The default value for CHECKBOX is ON HIDDEN No field is presented to the user but the content of the field is sent with the submitted form This value may be used to transmit state informat
83. an refer to current column values Current in this case means the values in the column before any changes were made by this statement For more information on the UPDATE statement see UPDATE in Chapter 4 of the Oracle7 Server SQL Reference The DELETE Statement DELETE is quite similar to UPDATE The following statement deletes all rows for customers named Subchak DELETE FROM Customers WHERE LNAME Subchak You can only delete entire rows not individual values To do the latter use UPDATE to set the values to null Be careful with DELETE that you do not omit the predicate this empties the table For more information on DELETE see DELETE in Chapter 4 of the Oracle7 Server SQL Reference Querying Multiple Tables Through Joins Even though it only retrieves data SELECT is the most complex statement in SQL One reason for this is that you can use it to query any number of tables in one statement correlating the data in various ways One way to do this is with a join which is a SELECT statement that correlates data from more than one table A join finds every possible combination of rows such that one row is taken from each table joined This means that three tables of ten rows each can produce a thousand rows of output 10 10 10 when joined Typically you use the predicate to filter the output in terms of some relationship The most common type of join called a natural join filters the output in terms o
84. and htp headClose procedure tags Note Although this section shows hypertext procedures HTP all of them are also available as hypertext functions HTF Syntax htp title ctitle Purpose Prints an HTML tag with the text you pass in as the value of TITLE Most Web Browsers display the text value enclosed between lt TITLE gt and lt TITLE gt at the top of the document viewing window Parameters ctitle in varchar2 Generates lt TITLE gt ctitle lt TITLE gt Syntax htp base ctarget cattributes Purpose Prints an HTML tag that records the URL of the document Parameters ctarget in varchar2 DEFAULT NULL cattributest in varchar2 DEFAULT NULL Oracle WebServer 2 0 User s Guide Generates Inserts absolute pathname of current document htp isindex Syntax htp isindex cprompt curl Purpose Creates a single entry field with a prompting text such as enter value then sends that value to the URL of the page or program Parameters cprompt in varchar2 DEFAULT NULL curl in varchar2 DEFAULT NULL Generates lt ISINDEX PROMPT cprompt HREF curl gt htp linkRel Syntax htp linkRel crel curl ctitle Purpose Prints the HTML tag that gives the relationship described by the hypertext link from the anchor to the target This is only used when the HREF attribute is present This tag indicates a relationship between documents but does not create a link To do that use htp anchor Parameters crel
85. and it only has to be parsed once Note The following datatypes are used by OWA_PATTERN but are part of the OWA_TEXT package For information on these see the section on OWA_TEXT owa_text vc_array owa_text multi_line owa_text int_array owa_text row_list Using MATCH AMATCH and CHANGE Here is an example of MATCH MATCH BATMAN Bat i This is how the function is interpreted BATMAN is the target where we are searching for the regular expression Bat is the regular expression we are attempting to find The period indicates any character other than newline and the asterisk indicates any 0 or more of such Therefore this regular expression specifies that a matching target consists of Bat followed by any set of characters neither ending in nor including a newline which does not match the period The i at the end is a flag indicating that case is to be ignored in the search This would return TRUE indicating that a match had been found Note that if multiple overlapping strings can match the regular expression OWA_PATTERN takes the longest match Summaries of OWA_PATTERN Functions MATCH AMATCH and CHANGE are overloaded That is to say there are several versions of each distinguished by the parameters they take Specifically there are six versions of MATCH and four each of AMATCH and CHANGE This section provides a summary of all versions the following section provides a reference on each vers
86. and location of this script may vary Oracle WebServer 2 0 User s Guide according to your operating system Contact your database administrator if you are not sure this script has been run Creating the Package Specification The syntax of the CREATE PACKAGE statement is as follows CREATE OR REPLACE PACKAGE package_name IS PL SQL declarations END The optional OR REPLACE clause operates just as it does for stored procedure The PL SQL declarations are as outlined under The DECLARE Section except that the keyword DECLARE is not used and that the subprogram and cursor declarations are incomplete For subprograms you provide only the name parameters and in the case of functions the datatype of the return value For cursors provide the name and a new item called the return type This approach hides the implementation of these objects from the public while making the objects themselves accessible The syntax for declaring a cursor with a return type is as follows CURSOR cl IS RETURN return_type The return type is always some sort of record type that provides a description of the cursor s output The structure of this record is to mirror the structure of the cursor s rows You can specify it using any of the following e A record subtype previously defined and in scope For more information see Records e A type inherited from such a record subtype using the TYPE attribute For more information see Declaring Vari
87. andard table data cell Table data cells must only appear within table rows Each row need not have the same number of cells specified because short rows will be padded with blank cells on the right A cell can contain any of the HTML tags normally present in the body of an HTML document The default alignment of table data is ALIGN left and VALIGN middle These alignments can be overridden by any alignments specified in the containing lt TR gt tag Note Row alignments are overridden by any attributes assigned to a cell By default lines inside of table cells can be broken up to fit within the overall cell width Use the NOWRAP attribute described in the section Basic Table Attributes to prevent line breaking for that cell Table Header lt TH gt lt TH gt The table header cells are identical to data cells in all respects except that header cells are in a bold font and have a default ALIGN center Caption lt CAPTION gt lt CAPTION gt This optional tag represents the caption for a table The lt CAPTION3 gt tags should appear inside the lt TABLE gt lt TABLE gt tags but not inside table rows or cells The default alignment for the lt CAPTION gt tag is ALIGN top but can be explicitly set to ALIGN bottom Like table cells any document body HTML tags can appear in a caption Captions are always horizontally centered with respect to the table and they may have their lines broken to fit within the width of the table
88. ansmission See HyperText Transfer Protocol HTTP HyperText Markup Language HTML A format for encoding hypertext documents that may contain text graphics and references to programs and references to other hypertext documents HyperText Transfer Protocol HTTP The protocol that clients use to issue requests for documents to the WebServer Image Map Graphic in a Web page that specifies several URL s each associated with a specified region of the single image Info File A file to which a Web Listener process logs its transactions on a particular port There is one info file for each port on which the Web Listener process accepts connections The info file is in Common Logfile Format Initial File The name of the HTML file that the WebServer returns by default when a request URL specifies only a directory name IP Address A four part number with no more than three digits in each part that uniquely identifies a computer on the Internet the number format is defined by the Internet Protocol IP IP based Restriction A restriction scheme that allows only machines within specified groups of IP addresses to access certain files See also Restriction Java Language developed by Sun Microsystems and used by Oracle WebServer This language is fully object oriented extremely portable and Oracle WebServer 2 0 User s Guide Glossary optimized for creating distributed applications on the Internet or other compu
89. ant information except for the new phone number This approach would be error prone and waste space Overview of the Oracle7 Server SQL and PL SQL B 3 The good solution is simply to create a second table like this CNUM PHONE TYPE 4005 375 296 8226 home 4005 375 855 3778 beeper 4008 488 255 9011 home 4011 577 936 8554 home 4008 488 633 8591 work Table 0 1 Customers_Phone Notice that in this table cnum is not the primary key it identifies the customer and therefore is the same for each phone number associated with a given customer What then is the primary key The combination of cnum and phone If you list the same number for the same person twice you really have made a duplicate entry and should eliminate one anyway The cnum column does have a special function however because it defines the relationship between Customers_Phone and Customers by associating each phone number with a customer We say that it references the cnum column in Customers A group of one or more columns such as this that references another group is known as a foreign key The group of columns a foreign key references is called its parent key or its referenced key Each foreign key value references a specific row in the table containing the parent key Clearly then all sets of values in the foreign key have to be present once and only once in the parent key although they may be present any number of times in the foreign key itself
90. apsulate This flag can override that default but it only applies to the first package named in the command If the wrappers are being created for standalone procedures and functions then this flag is mandatory and all procedures and functions named in the command are grouped into the single class named by this flag The names of the classes follow the capitalization given in the command Since PL SQL is not case sensitive this capitalization need not follow that actually given in the PL SQL code itself Developing Applications for the Oracle WebServer 4 17 There are certain PL SQL datatypes that the pl2java utility cannot encapsulate These are shown below along with the recommended substitutes if any Disallowed PL SQL Datatype Substitute PL SQL Datatype POSITIVE BINARY INTEGER PL SQL table of BINARY PL SQL table of NUMBER INTEGER NATURAL or POSITIVE PL SQL table of LONG PL SQL table of CHAR or VARCHAR2 PL SQL table of BOOLEAN PL SQL table of NUMBER treat 0 as false 1 as true ROWID none MSLABEL none PL SQL table of ROWID none PL SQL table of MSLABEL none Application Structure Your Java program will be a Java class with a public static method called main which takes an array of strings and various methods that are part of the wrapper classes All the methods in the Session class throw ServerException This exception is triggered when a database error occurs during the execution of the PL SQL proc
91. ar2DEFAULT NULL Generates lt STRONG cattributes gt ctext lt STRONG gt Syntax htp variable ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround as a variable name or a variable that might be entered by the user Usually rendered as italics Oracle WebServer 2 0 User s Guide Parameters ctext in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt VAR cattributes gt ctext lt VAR gt Physical Format Tags htp bold htp italic The physical format tags are used to specify the format of the marked text Note All the hypertext procedures HTP shown in this section are also available as hypertext functions HTF Syntax htp bold ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround is to be rendered as boldface Parameters ctext in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt B cattributes gt ctext lt B gt Syntax htp italic ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround is to be rendered as italics The PL SQL Web Toolkit Reference 6 41 Parameters ctext in varchar2 cattributesi n varchar2 DEFAULT NULL Generates lt I cattributes gt ctext lt I gt htp teletype Syntax htp teletype ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround is to be rendered in a fixed width typewriter font e g C
92. are FALSE or NULL NULL Statements If you do not want an action to be taken for a given condition you can use the NULL statement which is not to be confused with database nulls Boolean NULLs or the SQL predicate IS NULL The syntax of this statement is simply NULL The statement performs no action but fulfills the syntax requirement that a statement list must follow every THEN keyword Insome cases you can also use it to increase the readability of your code For more information on the NULL statement see NULL Statement in the PL SQL User s Guide and Reference A basic loop is a loop that keeps repeating until an EXIT statement is reached The EXIT statement must be within the loop itself If no EXIT or GOTO statement ever executes the loop is infinite An example follows credit 0 LOOP IF c 5 THEN EXIT END IF credit credit 1 END LOOP This loop keeps incrementing credit until it reaches 5 and then exits An alternative to placing an exit statement inside an IF statement is to use the EXIT WHEN syntax as follows EXIT WHEN credit 5 This is equivalent to the earlier IF statement Note The EXIT statement cannot be the last statement in a PL SQL block If you want to exit a PL SQL block before its normal end is reached use the RETURN statement For more information see RETURN Statement in the PL SQL User s Guide and Reference Overview of the Oracle7 Server SQL and PL SQL B 23
93. as Mah Matic aaa C 20 Creating Your Own HTML Document 00 0 00000 C 25 More Information about HTML 0 0 00 C 26 xi xii Oracle WebServer 2 0 User s Guide CHAPTER Oracle WebServer Concepts This section offers a conceptual overview of the Oracle WebServer It is intended to give you a context for the more specific task oriented information that follows The subsequent sections of this book are specifically targeted at those who manage Oracle WebServer sites WebServer Administrators and those who write application programs for them application developers This section covers e Overview e The Web Listener This is the portion of the WebServer that interfaces to the local network or the World Wide Web e The Secure Sockets Layer Introduction to SSL public key encryption e The Web Server Manager The set of Web pages you can use to perform most WebServer administration e The CGI Interface The standard Web mechanism for executing applications on a Web server e The Web Request Broker WRB The core of the WebServer An asynchronous request broker with an open API that Oracle WebServer uses to execute applications on the server e The PL SQL Agent The program the Oracle WebServer uses to execute procedures written in PL SQL Oracle s application development language on the Oracle7 Server e Java A new language for developing distributed network application
94. bServer whether through the WRB or CGI Server Extensions are either WRB Services or CGI programs Server Parsable See Parsable File Server Side Includes SSI Industry standard term for LiveHTML See LiveHTML Session Key A secret key used by SSL to encrypt data transmitted over a secure connection The client generates the session key after the WebServer authenticates itself and communicates it to the WebServer using public key encryption Socket The combination of an IP address and a port number SQL Structured Query Language The industry standard language for interfacing to relational databases such as the Oracle7 Server See also PL SOL See Server Side Includes SSI and LiveHTML SSL See Secure Sockets Layer SSL Table In HTML a table is a way of presenting information to the user b In SQL a table is the basic way that data is structured regardless of how it is presented to the user c In PL SQL special kinds of SQL tables are used to function effectively as dynamic arrays Transmission Control Protocol TCP The underlying communication protocol that the WebServer and its clients use to communicate HTTP requests Uniform Resource Locator URL The text string format clients use to encode requests to the WebServer User Directory The subdirectory of a user s home directory in which the Web Listener searches by default for files when the user s home directory appears in the request URL
95. ble PATH_INFO This indicates that hockey_pass is the specific application to be executed This application is a PL SQL procedure stored in the database that the PL SQL Agent executes The string person Gretzky is passed as the environment variable QUERY_STRING This indicates that the value Gretzky is to be passed to the hockey_pass application for the parameter person This will correspond in name and be compatible in datatype to a PL SQL parameter used in the application Oracle WebServer 2 0 User s Guide Database Connection Descriptors DCDs Whenever a URL invokes the PL SQL Agent it specifies a DCD Creating and maintaining the DCDs is the responsibility of the WebServer administrator As an application developer all you need be concerned with is generating URLs that specify the correct DCD to achieve the result you want The following is the information the DCD provides username password ORACLE HOME ORACLE SID SOL Net V2 Service Name or Connect String owa err page owa valid ports owa log dir owa _ nls lang username All SQL and PL SQL statements are executed by the database under the auspices of some database user This name identifies that user The username determines the schema logical section of a database that the PL SQL Agent connects to the actions it can perform the resources disk space and so on it can use and the level of monitoring of its activities that the database performs
96. butes Purpose Prints an HTML tag to include background sound for a web page Parameters csrc in varchar2 cloop in varchar2 DEFAULT NULL cattributesin varchar2 DEFAULT NULL Generates lt BGSOUND SRC csrc LOOP cloop cattributes gt Syntax htp div calign cattributes Purpose Prints an HTML tag to create document divisions Parameters calign in varchar2 DEFAULT NULL cattributesi n varchar2 DEFAULT NULL Generates lt DIV ALIGN calign cattributes gt Syntax htp listingOpen Oracle WebServer 2 0 User s Guide Purpose Prints an HTML tag to indicate the beginning of fixed width text in the body of an HTML page Parameters none Generates lt LISTING gt htp listingClose Syntax htp listingClose Purpose Prints an HTML tag to end the fixed width section of text Parameters none Generates lt LISTING gt htp nobr Syntax htp nobr ctext Purpose Prints an HTML tag to turn off line breaking with a section of text Parameters ctext in varchar2 Generates lt NOBR gt ctext lt NOBR gt The PL SQL Web Toolkit Reference 6 23 htp wbr htp center htp centerOpen 6 24 Syntax htp wbr Purpose Prints an HTML tag to insert a soft linebreak within a section of NOBR text Parameters none Generates lt WBR gt Syntax htp center ctext Purpose Prints a pair of HTML tags to center a section of text within a web page Parameters ctexy in varchar2 Generates
97. by this URL Web servers can be configured to interpret certain pathnames differently For instance CGI applications work by configuring the HTTP server to recognize that files within certain directories should be executed instead of being returned to the browser For example http www acme com index html In this example an HTTP connection is made to index html whichis the name of the file to be accessed on the server www acme com using port 80 the default The file could have a full UNIX style pathname to indicate a document contained in a lower level directory If there is no directory component in the pathname the document must be located in the server s document root directory which is configured by the server administrator If the pathname part of the URL is missing many servers provide a directory listing of the document root directory or access a specific top level file usually index html anchor The named anchor points to a specific location within an HTML page In addition to specifying a document name specifying anchor will cause most browsers to move the top of the display to the point referred to by the anchor These anchor names are inserted into documents with the NAME tag as explained under Linking to Sections on Pages later in this appendix Oracle WebServer 2 0 User s Guide Structure of an Anchor Link within a Document So far we ve discussed what a URL looks like To cause a link to be
98. ccurs The PL SQL Agent then returns a default error message to the browser or returns a customized HTML error page if one was previously configured as part of the DCD using the OWA_ERR_PAGE parameter Oracle WebServer 2 0 User s Guide The Java Interpreter The Java Interpreter is a part of the Oracle WebServer that interprets and executes Java and sends the HTML output to the client s browser as a Web page Oracle WebServer provides a set of Java classes to enable you to access the database and to generate HTML dynamically using the Java Interpreter These classes are called the Java Web Toolkit Using these Java classes you can make PL SQL calls from within your Java application effectively combining the strengths of the two languages This toolkit also includes a type wrapper for Java applets to make it easy for you to store applets in the database retrieve them through the Java Interpreter and send them to the client for execution embedded in a Web page You can also store and retrieve Java applets for execution on the client using the PL SQL Agent by simply treating the applets as data Generally speaking you should use Java to handle multimedia operations and to interface to objects on the net and you should use PL SQL for interfacing to the database Whether this means using the PL SQL Agent or the Java Interpreter will largely be determined by the following e Whether you want to pull all of your data from the da
99. ch SQLCODE is set when the error occurs The advantage of this over defining your own error condition is that you pass the responsibility for determining when the error has occurred and raising the exception to Oracle You can find the numeric codes and explanations for Oracle messages in Oracle7 Server Messages User Defined Exceptions If the declared condition is not to be a label for an Oracle error but a user defined error you do not need to put another statement referring to it in the DECLARE section In the EXECUTABLE section however you must test the situation you B 26 Oracle WebServer 2 0 User s Guide intend the exception to handle whenever appropriate and raise the condition manually if needed Here is an example IF cnum lt 0 THEN RAISE customer_deceased You can also use the RAISE statement to force the raising of predefined exceptions For more information see Error Handling in the PL SQL User s Guide and Reference Handling Exceptions Once an exception is raised whether explicitly with a RAISE statement or automatically by Oracle execution passes to the EXCEPTION section of the block where the various exception handlers reside If a handler for the raised exception is not found in the current block enclosing blocks are searched until one is found If PL SQL finds an OTHERS handler in any block execution passes to that handler An OTHERS handler must be the last handler in its block If no handler for a
100. cted and the submitted password was NULL Cause The form submitted indicated that the Web Agent service should use a password to connect to the database however no password was provided Action Select operating system authentication for this service or provide a password for the give OWA Database User OWS 05523 Service service name submission failed because value for mandatory parameter parameter is NULL Action Fill in the specified field and re submit the form OWS 05524 Service service name submission failed because both parameter1 and parameter2 are NULL Cause One of the two parameters listed must not be null Action Fill in one of the listed fields and re submit the form Oracle WebServer Messages 7 5 OWS 05525 Service service name submission failed because a service with the same name already exists Action Choose another name for the service you are attempting to create or delete the existing service OWS 05526 Service service name submission failed due to error number Action See the associated error and take the appropriate action OWS 05527 Service service name submission failed because the PL SQLAgent or DBA Username and Password are invalid Cause Either the OWA Database User name and password or the DBA username and password is not a valid username password combination for the specified database Action Correct the username and password and re submit t
101. d have been retrieved The semi colon is the statement terminator Nulls and Three Valued Logic B 6 With predicates you should be aware of three valued logic In SQL the basic Boolean values of TRUE and FALSE are supplemented with another NULL also called UNKNOWN This is because SQL acknowledges that data can be incomplete or inapplicable and that the truth value of a predicate may therefore not be knowable Specifically a column can contain a null which means that there is no known applicable value A comparison between two values using relational operators for example a 5 normally is either TRUE or FALSE Whenever nulls are compared to other values however including other nulls the Boolean value is neither TRUE nor FALSE but itself NULL Oracle WebServer 2 0 User s Guide Creating Tables In most respects NULL has the same effect as FALSE The major exception is that while NOT FALSE TRUE NOT NULL NULL In other words if you know that an expression is FALSE and you negate take the opposite of it then you know that it is TRUE If you do not know whether it is TRUE or FALSE and you negate it you still do not know In certain cases three valued logic can create problems with your programming logic if you have not accounted for it You can treat nulls specially in SQL with the IS NULL predicate as explained in Chapter 3 of the Oracle7 Server SQL Reference This is how you create tables in SQL You can use the
102. displayed for the user to access an anchor link must be embedded in the document text The HTML syntax which allows this is lt A HREF URL gt text_to_be_displayed_highlighted lt A gt The lt A HREF URL gt tag opens the anchor link and the lt A gt tag closes it All the text between those tags is displayed highlighted in some way by a web browser A common technique is to display it underlined and in blue or some other user selected contrasting color The URL part of the tag refers to the text of the URL reference as defined in the previous section The URL text does not appear on the user s screen it is only used when the user activates the link usually by clicking on it with the mouse An example HTML segment For interesting products see lt A HREF http www acme com gt Acme s home page lt A gt This line would produce on the user s screen For interesting products see Acme s home page Graphics within HTML Documents Introduction To HTML One of the most compelling features of the Web is the ability to embed references to graphics and other data types within a document using the lt IMG ISMAP gt tags This adds a very lively character to your pages and makes them visually interesting There are two ways to use graphics from within an HTML document The first is by embedding them within the document itself so the user s screen will display the graphics within the context of the other el
103. e generates a line in an HTML document Parameters cbuf in varchar2 or dbuf in date or nbuf in number Generates Generates a line in an HTML document based on the value passed to it Alias for htp print Syntax htp prn cbuf dbuf nbuf Purpose Just like htp print but doesn t put a new line at the end of the value submitted Oracle WebServer 2 0 User s Guide htp prints htp ps Structure Tags htp htmlOpen Syntax htp prints ctext Purpose Generates a line in an HTML document and replaces all occurrences of the following special characters with the shown escape characters If not replaced the special characters would be interpreted as HTML control characters and would produce garbled output lt with amp lt gt with amp gt with amp quot amp with amp amp Parameters ctext in varchar2 Generates Generates a line in an HTML document based on the value passed to it This procedure is the same as htp print or htp p but first replaces the special characters listed above with escape characters Alias for htp prints The following tags are used to identify the major parts of an HTML document Note Although this section shows hypertext procedures HTP all of them are also available as hypertext functions HTF Syntax htp htmlOpen Purpose Prints a tag that indicates the beginning of an HTML document The PL SQL Web Toolkit Reference 6 7
104. e NULL Procedures and Functions owa_image get_x owa_image get_y Syntax owa_image get_x p Purpose This is a function that produces the X coordinate of the image map Parameters p in point Generates X coordinate as integer Syntax owa_image get_Y p Oracle WebServer 2 0 User s Guide Purpose This is a function that produces the Y coordinate of the image map Parameters p in point Generates Y coordinate as integer OWA_COOKIE Datatypes OWA_COOKIE is a package that provides wrappers so that you can send cookies to and get them from the client s browser Cookies are strings that are opaque to the client but that maintain state throughout the client s session or longer if an expiration date is included Your system date will be calculated with reference to the information specified in the OWA_INIT package cookie Since the HTTP standard is that cookie names can be overloaded that is multiple values can be associated with the same cookie name this is a PL SQL RECORD holding all values associated with a given cookie name The fields are as follows name varchar2 4K vals vc_arr numvals integer Note vc_arr is defined in the OWA_TEXT package Procedures and Functions owa_cookie send Syntax owa_cookie send name value expires path domain secure The PL SQL Web Toolkit Reference 6 79 owa_cookie get owa_cookie get_all 6 80 Purpose This is a procedure that trans
105. e Oracle WebServer describes how to configure your Oracle WebServer to accept secure connections using the Secure Sockets Layer SSL Chapter 4 Developing Applications for the Oracle WebServer describes in detail how to develop applications to run on the Oracle WebServer Chapter 5 Sample Applications provides an overview of the sample WebServer back end applications provided with the documentation Chapter 6 The PL SOL Web Toolkit Reference provides a detailed reference for the PL SQL procedures you can use to write programs that generate HTML documents dynamically Chapter 7 Oracle WebServer Messages provides a lookup reference for errors and messages that the Oracle WebServer can display to the user or log to files Appendix A Glossary provides a lookup reference for terms and concepts used throughout this book Appendix B Overview of the Oracle7 Server SOL and PL SOL summarizes the capabilities of the Oracle7 database server and provides a syntax summary of the SQL and PL SQL languages Appendix C Introduction To HTML summarizes the capabilities of HTML gives usage examples and provides a brief syntax reference Oracle WebServer 2 0 User s Guide Conventions Used in This Manual Feature Example Explanation monospace enum Identifies code elements boldface mna h Identifies file names and function arguments when used in text timeout italics file1 Identifi
106. e WebServer a database running on a different machine from the WebServer which the WebServer accesses over the network Restriction A security scheme that restricts access to files provided by the WebServer to client machines within certain groups of IP addresses or DNS domains Routing The process of directing data from one machine on the Internet to another by way of intermediate machines Secret Key Encryption A form of encryption that uses a single key both to encrypt and to decrypt a document Secret key encryption is much faster that public key encryption but is more vulnerable to attack Oracle WebServer 2 0 User s Guide Glossary Secure Sockets Layer SSL An emerging standard for secure transmission of hypertext documents over the Internet using secure HTTP HTTPS Server A process that executes requests on behalf of another process the client whose main purpose is to interface to the user There are two types of servers relevant to this product The first is the Oracle7 Server which is a database server dedicating to performing data management duties on behalf of clients using any number of possible interfaces The other is the Oracle WebServer itself which is a web server dedicating to answering requests that come in through the HyperText Transfer Protocol http This product is a web server that utilizes a database server Server Extension Generic term for external programs executed by the Oracle We
107. e WebServer Manager 2 3 2 4 Oracle WebServer 2 0 User s Guide CHAPTER Setting Up a Secure Oracle WebServer You can up an Oracle WebServer process to accept secure connections on a particular TCP IP port by configuring it to use the Secure Sockets Layer SSL on that port SSL is an emerging standard for encrypted data transmission see The Secure Sockets Layer for an introduction to the terms and concepts involved in this kind of security To set up your Oracle WebServer to use SSL you must do the following Generate a certificate request Send the request to VeriSign Inc a Certifying Authority CA Physically secure and prepare your WebServer host machine Install the certificate granted you by the CA Oly aes D oN Activate SSL on at least one WebServer port Generating a Certificate Request To generate a certificate request run the interactive utility genreq and enter the information for which it prompts you When the prompt specifies a default value you can just press return to enter that value or enter a different value if you prefer For an example of how to use genreq see the sample genreq session that accompanies this document To run genreq do the following 3 2 10 Type genreg to start the utility Type G to begin creating a certificate request When prompted type a password used in generating the private key Just choose a random string of characters you need only remember this
108. e bracket In this example the tag lt TITLE gt tells the Web browser to use a title format and the lt TITLE gt tells the browser that the title heading is complete A few tags such as lt P gt which is a paragraph delimiter do not need an end tag but most do HTML is not case sensitive therefore the previous tags could look like this lt title gt All the Hockey Greats lt title gt The convention used in this document is to capitalize all HTML format tags Note Extra spaces tabs or returns that you have added by hand are highly discouraged and will be lost HTML only interprets tabs extra spaces and C 3 returns enclosed by the lt PRE gt lt PRE gt tags See Preformatted Tag for more information on this HTML option Document Structure Head Tag Title Tag C 4 When a browser receives a document it determines how it should be interpreted The very first tag you need in your HTML document is the lt HTML gt structure tag This declares that the content of your document is written with HTML A minimal HTML document would look like this lt HTML gt the content of the document lt HTML gt The head tag can be used right after the HTML declaration or not at all in your document This tag represents the prologue to the rest of the file Avoid putting any text into the document lt HEAD gt tag This tag is placed immediately before and after the lt TITLE gt tag as shown in the following
109. e document and to render it The use of HTML allows documents to be formatted for presentation using fonts and line justification appropriate for the system on which it is displayed Most documents have common elements such as a title paragraphs or lists Using HTML tags you can label these elements as you are writing HTML tags provide the browser with a minimum of presentation information while keeping the integrity of information in the document All the reader needs is a formatting tool a Web browser which interprets the HTML tags and produces an on screen display that approximates the intent of the document creator With most methods of documentation the writer of a document has strict control over the look and feel of a document With HTML the reader subject to the capabilities of the Web browser has control over the look and feel of a document HTML allows you to mark titles or paragraphs with HTML instructions or tags and then leaves the interpretation of these tags up to the browser For example one browser may indent the beginning of each paragraph and another may leave only a blank line The user of a particular browser may also have some control over the specific fonts used HTML tags can be divided into two main categories e tags that define how the body of the document is to be displayed by the browser e tags that define information about the document such as the title Remember the power of HTML is that your docume
110. e name of the field with x appended and the y coordinate with the y appended Any value attribute is ignored The image itself is specified by the CSRC attribute Parameters cname in varchar2 csrc in varchar2 calign in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt INPUT TYPE image NAME cname SRC csrc ALIGN calign cattributes gt Syntax htp formPassword cname csize cmaxlength cvalue cattributes Purpose Prints an HTML tag that creates a single line text entry field Text will not be displayed as it is entered When the user enters a password characters are represented by asterisks on single line text entry field Parameters cname in varchar2 csize in varchar2 cmaxlength in varchar2 DEFAULT NULL cvalue in varchar2 DEFAULT NULL cattributes i nvarchar2 DEFAULT NULL Generates lt INPUT TYPE password NAME cname SIZE csize MAXLENGTH cmaxlength VALUE cvalue cattributes gt The PL SQL Web Toolkit Reference 6 45 htp formRadio htp formReset htp formSubmit Syntax htp formRadio cname cvalue cchecked cattributes Purpose Prints an HTML tag that inserts a radio button on the HTML Form Used to create a set of radio buttons each representing a different value only one of which will be toggled on by the user Each radio button field should have the same name Only the selected radio button will generate a name value pair in sub
111. e proxy behavior defined by Luotonen and Altis in World Wide Web Proxies http www w3 org 80 hypertext WWW Proxies under the auspices of the World Wide Web Consortium W3C The Oracle Web Listener uses a virtual file system to keep track of the files it makes available to clients The virtual file system maps the pathnames used in request URLs Uniform Resource Locators to the file system maintained by the host machine s operating system Oracle WebServer 2 0 User s Guide File Memory Mapping File Caching File Protection The Web Listener uses the host operating system s memory mapping capability when opening a file requested by a client so that the Web Listener s virtual address space refers directly to the file s contents This speeds access and makes it possible for several clients to share the same copy of the file which conserves the Web Listener s memory resources Ordinarily when the Web Listener opens a requested file the file remains open and mapped into memory until all clients using the file are finished with it at which point the Web Listener closes the file and frees the memory mapping associated with it The Web Listener allows you to specify files to be cached Cached files are opened when a client requests them and remain open for the life of the Web Listener process This optimizes access times for files such as your home page that are requested often The Oracle Web Listener allows you
112. e the parameters in the declaration are the names that the procedure itself uses to refer to them These are called the formal parameters When the procedure is invoked different variables or constants may be used to pass values to or from the formal parameters these are called the actual parameters When calling the procedure you can use each parameter for input of a value to the procedure output of a value from it or both These correspond to the three parameter modes IN OUT and IN OUT For more information see Parameter Modes in the PL SQL User s Guide and Reference When you call the procedure you can match the actual to the formal parameters either implicitly by passing them in the same order they are given in the declaration or explicitly by naming the formal followed by the actual parameter as shown transmit destination gt address This invokes a procedure called transmit assigning the value of address as the actual parameter for the formal parameter destination This implies that the parameter destination is used within the transmit procedure and that the parameter address is used outside of it Usually it is good programming practice to use different names for matching formal and actual parameters For more information on this see Positional and Named Notation in the PL SQL User s Guide and Reference Functions are the same except for the addition of a return value specified as follows FUNCTI
113. e usage AUDIT reversing undoing changes tothe ROLLBACK SET data TRANSACTION SAVEPOINT PL SQL PL SQL is an application development language that is a superset of SOL supplementing it with standard programming language features that include the following e block modular structure B 12 Oracle WebServer 2 0 User s Guide e flow control statements and loops e variables constants and types e structured data e customized error handling Another feature of PL SQL is that it allows you to store compiled code directly in the database This enables any number of applications or users to share the same functions and procedures In fact once a given block of code is loaded into memory any number of users can use the same copy of it simultaneously although behavior is as though each user had her own copy which is useful for the Oracle WebServer PL SQL also enables you to define triggers which are subprograms that the database executes automatically in response to specified events Unlike SQL PL SQL is not an industry standard but is an exclusive product of Oracle Corporation The remainder of this section covers the following PL SQL topics e Basic Structure and Syntax e The DECLARE Section e The EXECUTABLE Section e The EXCEPTION Section e Storing Procedures and Functions in the Database e Database Triggers Note For the sake of efficiency PL SQL code is compiled prior to runtime It cannot refer at compile
114. e7 Server SQL and PL SQL under Overloading Subprograms PL SQL allows you to overload procedures and functions that are in PL SQL packages In overloading multiple procedures or 4 12 Oracle WebServer 2 0 User s Guide functions have the same name but are distinguished by the fact that they take different parameters For example create or replace package overload is procedure procl charval in varchar2 procedure procl numval in number end create or replace package body overload is procedure procl charval in varchar2 is begin htp print The character value is charval end procedure procl numval in number htp print The number value is numval end end Note The PL SQL Agent can use this functionality with the following restriction if two procedures take the same number of parameters those parameters must differ in name as well as datatype normally a difference in datatype suffices to distinguish the parameters For example create or replace package overload is procedure procl val in varchar2 procedure procl val in number end If executed directly from SQL this would be acceptable but when the PL SQL Agent attempts to determine which procedure to call it is not able to distinguish between the two and will generate an error This limitation is imposed by the lack of HTML form datatypes Oracle PL SQL Agent Error Handling Application Errors There are two types of errors that the O
115. ecome garbage In fact Java s garbage collector waits until the program idles which for a busy Web site could be infrequent or until resources are low before it collects garbage objects Therefore it is better to issue a disconnect statement to free up database resources explicitly Dynamic HTML from Java To generate dynamic HTML from within Java you create various objects that use the interface HtmllItem All classes that generate dynamic HTML implement this interface which has two simple methods toHTML and print Both of these methods produce the content of the object as HTML but toHTML returns it as a string whereas print sends it to system output Therefore you use toHTML when Developing Applications for the Oracle WebServer 4 25 you want the resulting HTML to be further processed by another method and use print when you want to output it In effect you build your Web page ina buffer with toHTML and flush the buffer with print The oracle html package provides a standard set of classes based on HTML2 HTML3 and popular browser specific extensions You are not limited to these however You can easily create your own customizable HTML classes by deriving them from the CompoundItem or Container classes The oracle html package also has the intelligence to generate output that is optimized for the browser at hand For example a browser that does not support tables will get table data in the form of preformatted strings In so
116. ed by the copyright holders under the following li cense By obtaining using and or copying this software you agree that you have read understand and will comply with the following terms and conditions Permission to use copy modify and distribute this software and its documentation for any purpose and without fee or royalty is hereby granted provided that the full text of this NOTICE appears on ALL copies of the software and documentation or portions thereof including modifications that you make THIS SOFTWARE IS PROVIDED AS IS AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES EXPRESS OR IMPLIED BY WAY OF EXAMPLE BUT NOT LIMITATION COPYRIGHT HOLDERS MAKE NO REP RESENTATION OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS COPYRIGHTS TRADEMARKS OR OTHER RIGHTS COPYRIGHT HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE OR DOCU MENTATION The name and trademarks of copyright holders may NOT be used in advertising or pub licity pertaining to the software without specific written prior permission Title to copy right in this software and any associated documentation will at all times remain with copyright holders CERN ACKNOWLEDGEMENT This product includes computer software created and made available by CERN This ac knowledgment shall be mentioned in full in any product which includes t
117. edure or function When invoking these methods you should handle the exception appropriately The steps your application must go through are as follows 1 Itmust create an object of type Session to handle the database connection All of the operations performed during this session must be called from within this object When the object exits the database connection is marked for termination by the Java garbage collector Since connecting to the database takes time try to minimize the number of connections by grouping into one Session object all of the operations that involve a given schema 2 For each PL SQL package used in the application it must create one instance of the packagewrapper subtype created for that PL SQL package by the pl2java utility 4 18 Oracle WebServer 2 0 User s Guide 3 For each parameter of a PL SQL package it must create an instance of the Java variable that matches that parameter All classes that encapsulate PL SQL values have toString methods Therefore you can concatenate the PL SQL values directly in Java strings using Java s concatenation operation 4 Unlike Java and most languages but like SQL PL SQL uses Nulls and_ Three Valued Logic to deal with missing information NULLs should be dealt with differently than known values When you access a NULL from Java it throws the NullValueException runtime exception Therefore you should account for this whenever a PL SQL value may be NULL
118. efore referencing them For more information on forward declarations see Declaring Subprograms in the PL SQL User s Guide and Reference e The EXECUTABLE Section This is the actual code that the block executes This is the only part of the block that must always be present e The EXCEPTION Section This is a section for handling runtime errors and warnings These divisions are explained further in the sections that follow The DECLARE Section Datatypes B 14 The DECLARE section begins with the keyword DECLARE and ends when the keyword BEGIN signals the arrival of the EXECUTABLE section You can declare types constants variables exceptions and cursors in any order as long as they are declared before they are referenced in another definition You declare subprograms last A semi colon terminates each definition PL SQL provides a number of predefined datatypes for variables and constants It also enables you to define your own types which are subtypes of the predefined types The types fall into the following three categories e Scalar These include all string number and binary types All of the SQL datatypes which are the datatypes that you can store in the database fall Oracle WebServer 2 0 User s Guide Declaring Variables into this category To find out about these datatypes see Datatypes in the Oracle7 Server SQL Reference e Composite These are structured datatypes which is to say
119. ements of your document such as explanatory text This is the most common technique used by HTML designers and is called an inline image The syntax for specifying this is lt IMG SRC URL ALT text ALIGN top middle bottom texttop ISMAP gt The elements in this syntax statement are as follows URL is the same syntax as any other URL as explained above This is the way the browser accesses the actual image data file which should be in a format C 13 supported by the browser Currently GIF and JPEG formats are supported by most browsers Specifying the URL is required ALT text will cause the string text to be displayed if the browser is incapable of displaying images or if image display is turned off This is a way of labelling the image the user would be seeing if image display was turned on ALT is an optional keyword if it is missing no text will be displayed if images are turned off on the browser Most browsers put some sort of icon on the screen to indicate an image would normally be there Using the ALT tag is recommended so that your page is compatible with text only browsers such as Lynx ALIGN is used with one of the keywords to tell the browser where to place the next block of text This allows a certain amount of creativity in the layout of your page If this is not specified most browsers put the image on the left side of the screen and fill in following text to the right
120. ense then it is delivered with Restricted Rights and the following legend is applicable Restricted Rights Legend Use duplication or disclosure by the Government is subject to restrictions as set forth in subparagraph c 1 ii of DFARS 252 227 7013 Rights in Technical Data and Computer Software October 1988 Oracle Corporation 500 Oracle Parkway Redwood City CA 94065 If this software documentation is delivered to a U S Government Agency not within the Department of Defense then it is delivered with Restricted Rights as defined in FAR 52 227 14 Rights in Data General including Alternate III June 1987 The information in this document is subject to change without notice If you find any problems in the documentation please report them to us in writing Oracle Corporation does not warrant that this document is error free Adobe and Acrobat are trademarks of Adobe Systems Incorporated Java is a trademark of Sun Microsystems Incorporated Netscape Navigator is a trademark of Netscape Corporation Oracle SQL Forms SQL DBA SQL Loader SQL Net andSQL Plus are registered trademarks of Oracle Corporation PL SQL Oracle7 Web Request Broker LiveHTML Web Access Manager Oracle Browser Oracle WebServer Option Oracle WebServer Web Agent Web Desktop and Web Listener are trademarks of Oracle Corporation NOTICE Copyright 1995 by Massachusetts Institute of Technology MIT INRIA This W3C software is being provid
121. er you must make the database change to which it responds If you only want to test the trigger you can rollback undo the database change that you made after the trigger fires Triggers can be classified in three ways INSERT triggers UPDATE triggers and DELETE triggers This is a classification based on the statement to which the trigger responds The categories are not mutually exclusive meaning one trigger can respond to any or all of these statements Row triggers and statement triggers Any of the above statements can affect any number of rows ina table at once A row trigger is fired once for each row affected A statement trigger is fired once for each statement however many rows it affects BEFORE triggers and AFTER triggers This specifies whether the trigger is fired before or after the data modification occurs As you can see all three of these classifications apply to all triggers so that there are for example BEFORE DELETE OR INSERT statement triggers and AFTER UPDATE row triggers The syntax of the CREATE TRIGGER statement is as follows Overview of the Oracle7 Server SQL and PL SQL B 33 B 34 CREATE OR REPLACE TRIGGER trigger_name BEFORE AFTER DELETE INSERT UPDATE OF column_list ON table_name FOR EACH ROW WHEN predicate PL SQL block In the above square brackets enclose optional elements Vertical bars indicate that what precedes may be replaced by what follows In ot
122. er Manager If you want to run it from SQL Plus see the header of the script for instructions The OWAINS SQL script installs all of the PL SQL Web Toolkit packages Optimizing Multiple DCD Installations If your site has multiple PL SQL Agent DCDs you can minimize the amount of storage space used and enhance PL SQL performance by doing the following 1 Install the P1 SQL Web Toolkit in one database user s schema This user becomes the toolkit owner 2 Drop the P1 SQL Web Toolkit PL SQL from the schemas of the OWA database users for other PL SQL Agent DCDs if you have already installed them connect lt user gt lt password gt drop package HTF drop package HTP drop package OWA_UTIL drop package OWA drop package OWA_PATTERN drop package OWA_TEXT drop package OWA_IMAGE drop package OWA_COOKIE The PL SQL Web Toolkit Reference 6 3 Security Note drop package OWA_INIT Grant the system privilege EXECUTE on the PL SQL packages to OWA database users for other PL SQL Agent DCDs For more information on this command see GRANT system privileges in Chapter 4 of the Oracle7 Server SQL Reference connect lt toolkit owner gt lt password gt grant execute on HTF to lt user gt grant execute on HTP to lt user gt grant execute on OWA_UTIL to lt user gt grant execute on OWA to lt user gt grant execute on OWA_PATTERN to lt user gt grant execute on OWA_TEXT to lt user gt grant execu
123. er as a WRB Service or as a CGI program PL SQL Developer s Toolkit A bundle of PL SQL packages provided with the Oracle WebServer SDK that make it easier to generate HTML using PL SQL Applications written for either the PL SQL Agent or the Java Interpreter can use these packages Port A number that TCP uses to route transmitted data to and froma particular program Preferred Language The language the Web Listener uses when handling a request for a file available in more than one language if the request doesn t specify a language Language identifiers are defined by RFC 1766 A 9 Primary Key See Key Private Key A key known only to one user used to decrypt data encrypted with the user s public key See also Public Key Encryption Proxy Server An HTTP engine such as the Web Listener that clients inside a firewall can use to access web sites outside the firewall Public Key A key known to all users used to encrypt data in such a way that only a specific user can decrypt it See also Private Key and Public Key Encryption Public Key Encryption A form of encryption that uses a key pair a public key and a private key to encrypt and decrypt data Query String Optional portion of a URL that specifies parameters to be passed to some server extension Realm A group of users and groups assigned by an authentication scheme to regulate access to specific files or directories Remote Database For th
124. ers clients on one or more IP address port combinations using HTTP to encode requests for hypertext documents and the Transmission Control Protocol Internet Protocol TCP IP as the underlying connection protocol Several Web Listener processes may run on single host computer at the same time see the Oracle Web Listener Administration Form for more information A port is a number that TCP uses to identify a communication channel associated with a specific program For example the login program usually accepts login requests on port 49 and the Domain Name Service DNS usually accepts name lookup requests on port 53 HTTP engines such as the Oracle Web Listener usually accept ordinary connections on port 80 and secure connections on port 443 Programs must execute with root permissions to access port numbers 1 through 1023 whereas any program can access port numbers 1024 through 65535 An Internet Protocol IP address is a unique number that identifies exactly one computer on the Internet although each computer can be represented on the Internet by several addresses A computer can use different addresses for different Internet functions For example a single computer might have one IP address on which it acts as an email routing server and another address on which it acts as a DNS server Oracle WebServer Concepts 1 3 DNS Host and Domain Names Secure Connections Proxies File Handling 1 4 A fully qualified host na
125. es a place holder in command or function call syntax replace this place holder with a specific value or string ellipses N Indicates that the preceding item can be repeated any number of times Table 1 Conventions Example Conventions This Guide shows code in this font applet addParam text This is an applet test Related Documents Document Title A44047 1 Oracle WebServer Quick Reference Table 2 Related Documents vii Your Comments Are Welcome We value and appreciate your comments as an Oracle user and reader of the manuals As we write revise and evaluate our documentation your opinions are the most important input we receive At the back of our printed manuals is a Reader s Comment Form which we encourage you to use to tell us what you like and dislike about this manual or other Oracle manuals If the form is not available please use the following address or FAX number Oracle WebServer Documentation Manager Oracle Corporation 500 Oracle Parkway Redwood City CA 94065 U S A FAX 415 506 7200 viii Oracle WebServer 2 0 User s Guide Contents Oracle WebServer Concepts 0 c cece cece eee e cece eeeeeeees 1 1 OQVOEVIEW pi os Sean ig eh CEA LES hin acre 0 E E E welt ond oe 1 2 The Web Laistene tics iietsnn dais diet annie toh whe E ghia E dab aie 1 3 The Secure Sockets Layer 0 6 eens 1 7 The Web Server Manager 0 6 ec n AREE 1 9 The CGP interfaces cca becuse
126. et Key Encryption Error File A file to which a Web Listener process logs errors There is one error file for each Web Listener process Exception A runtime occurrence in PL SQL or Java that requires special handling and may indicate an error File Caching The practice of leaving files open resident in memory so the WebServer can provide them to clients quickly You can use the WebServer Manager to specify files to be cached Filename Extension ww A short alphanumeric suffix attached to a filename following a dot that represents the file s format The WebServer uses filename extensions to identify several kinds of file formats including MIME types and encodings A file may have several extensions File Protection The practice of assigning an authentication or restriction scheme to control access to a specific file or group of files Firewall Machine A computer that regulates access to computers on a local area network from outside and regulates access to outside computers from within the local area network Foreign Key See Key genreq A utility you can use to generate a request for a certificate You can then submit the generated request to a certifying authority CA A 6 Host Name An alphanumeric character string that uniquely identifies a computer within a DNS domain HTTP See HyperText Transfer Protocol HTTP HTTPS Secure HTTP a version of HTTP with provisions for secure data tr
127. evels of access These pages let you specify the actual and virtual directories for WRB cartridges as well as the number of WRBXs to assign to each The PL SQL Agent Pages Administering the PL SOL Agent means administering the Database Connection Descriptors DCDs that it uses to establish its identity when communicating with the database The Oracle7 Server Pages The Oracle7 Server is an extremely sophisticated product and it is properly administered using Oracle Server Manager or directly through the SQL language The pages provided here enable you to do a few basic things such as start up and shut down database instances and browse database contents The CGI Interface 1 10 The Common Gateway Interface CGI is the standard technique used by an HTTP server to execute a program that generates HTML output Using CGI you can run PL SQL and thus interface to the Oracle7 Server from Internet servers Oracle WebServer 2 0 User s Guide that do not support the WRB This technique provides dynamic content rather than static content from files on disk Oracle WebServer is fully compliant with CGI version 1 1 When the Web Listener recognizes an incoming URL as a request to execute a CGI application it spawns a separate process to perform the operation The Web Request Broker WRB circumvents this need to spawn a new process for each request thereby improving performance The Web Listener passes the URL to the process i
128. f PL SQL B 16 OWA_TEXT uses 6 75 PL SQL B 14 PL SQL Agent limitations 4 12 PL SQL vs Java 4 18 PL SQL Web Toolkit 6 5 pointer B 15 RECORD PL SQL B 18 scalar B 14 SQL B 7 structured B 15 TABLE PL SQL B 17 user defined B 16 user defined in PL SQL B 18 DATE_GMT 4 31 DATE_LOCAL 4 31 DBMS_SQL package B 13 DBMSSTDX SQL script B 30 DCDs 4 16 format of 4 5 how specified 1 12 4 4 optimizing for multiple 6 3 Index 2 declarations constants PL SQL B 16 subprograms PL SQL B 20 types PL SQL B 16 variable PL SQL B 15 DECLARE section PL SQL B 14 DELETE statement SQL B 9 digest authentication 1 5 digital signatures 1 9 DNS 1 4 DOCUMENT_NAME 4 31 DOCUMENT_URL 4 31 domain names 1 4 domains restricting access to specified 1 6 dot notation for database objects B 7 for PL SQL objects and subprograms B 16 B 17 E encryption communications 1 7 password 1 5 public key 1 8 session keys 1 8 environment variables 4 31 retrieving 6 57 error handling Java 4 18 LiveHTML 4 30 Oracle7 B 25 PL SQL B 25 PL SQL Agent 4 13 triggers and B 35 exceptions PL SQL B 25 declared in DECLARE section B 19 declaring B 26 predefined B 25 user defined B 26 EXECUTABLE section PL SQL B 21 Index 3 EXECUTE privilege SQL B 28 EXIT statement PL SQL B 24 extensions filename 1 6 extra path information 4 3 F fields in PL SQL records B 18 file sharing 1 5 file
129. f the foreign key parent key relationship explained earlier in this appendix For example to see the people in the Customers table coupled with their various phone numbers from the Customers_Phone table you could enter the following SELECT a CNUM LNAME FNAME PHONE TYPE FROM Customers a Customer_Phone b WHERE a CNUM b CNUM Overview of the Oracle7 Server SQL and PL SQL B 9 Outer Joins B 10 In the above a and b are range variables also called correlation variables They are simply alternate names for the tables whose names they follow in the FROM clause so that a Customers and b Customers_Phone You can see that here you need the range variables to distinguish Customers CNUM from Customers_Phone CNUM in the SELECT and WHERE clauses Even when not needed range variables are often convenient Here is the output of the natural join CNUM LNAME FNAME PHONE TYPE 4005 Peel Julia 375 296 8226 home 4005 Peel Julia 375 855 3778 beeper 4008 Lopez Emilio 488 255 9011 home 4008 Lopez Emilio 488 633 8591 work 4011 Lim Kerry 577 936 8554 home This output represents every combination of rows from the two tables where both rows have the same CNUM value Notice in the preceding example that people from the Customers table who did not have phones namely CNUM 4007 were not selected If a row has no match in the other table the predicate is never true for that row Sometimes you do not want this effect and you can override i
130. following SQL statement to create the Customers table CREATE TABLE Customers cnum integer NOT NULL PRIMARY KEY FNAME char 15 NOT NULL LNAME char 15 NOT NULL ADDRESS varchar2 After the keywords CREATE TABLE come the table s name and a parenthesized list of its columns with a definition of each Integer char and varchar2 are datatypes all of the data in a given column is always of the same type char means a fixed and varchar2 a varying length string For more information on SOL datatypes see Chapter 2 of the Oracle7 Server SQL Reference NOT NULL and PRIMARY KEY are constraints on the columns they follow They restrict the values you can enter in those columns Specifically NOT NULL forbids you from entering nulls in the column PRIMARY KEY prevents you from entering duplicate values into the column and makes the column eligible to be the parent for some foreign key For more information see CREATE TABLE and CONSTRAINT clause in Chapter 4 of the Oracle7 Server SQL Reference Ownership and Naming Conventions Note that when you create a table in SQL you own it This means you generally have control over who has access to it and that it is part of a schema that bears your Oracle username A schema is a named collection of database objects under the control of a single Oracle user Schemas inherit the names of their owners When other users refer to an object you have created they have to precede its name by
131. from the list and click its Configure button to go to the Oracle Web Listener Advanced Configuration Form 6 Follow the link to the Oracle Web Listener Configure Security Form 7 Go to the Secure Sockets Layer section of the form and follow the instructions 8 Go back to the Oracle Web Listener Advanced Configuration Form 9 Goto the Addresses and Ports section 3 4 Oracle WebServer 2 0 User s Guide 10 Set the Security pull down menu to SSL in the entry for at least one port Note For increased security it is best to activate SSL only on port 443 11 Go back to the Oracle Web Listener Administration Form and repeat the process for all Web Listener processes that you want to make secure Setting Up a Secure Oracle WebServer 3 5 3 6 Oracle WebServer 2 0 User s Guide CHAPTER es Developing Applications for the Oracle WebServer This section covers the development of applications for the WebServer It has the following sections e Application Development an Overview e Server Extensions e The PL SQL Agent e The Java Interpreter e The LiveHTML Interpreter Application Development an Overview Applications developed for the Oracle WebServer have two general types of components e Web pages whether statically coded or generated at runtime from PL SQL or Java These constitute both the user interface and the final product Using LiveHTML these can reference applications e
132. fying authority CA When you contact a certifying authority to request a certificate you must provide them with certain legal information about your organization which they can use to certify that your organization is legitimate and should be certified see Setting Up a Secure Oracle WebServer in the online documentation The Web Server Manager To help you manage your Web site the Oracle WebServer provides a set of Web pages that you can use to perform most common administration tasks These pages are simply an easy way to edit the configuration files that the WebServer uses so you can always use another tool to edit those files directly although Oracle discourages this The WebServer Manager can be used from any Web browser It has the following sections e The Listener Pages Oracle WebServer Concepts 1 9 The Listener Pages The WRB Pages e The WRB Pages e The PL SOL Agent Pages e The Oracle7 Server Pages The largest group of pages deal with administering the Web Listener For the most part however these pages are just forms where you fill in the values for various configuration parameters The exception is the security pages where you specify which sorts of security schemes will be used including the following e If you select Restriction the IP addresses or domain names that are granted various levels of access e If you select Authentication the user names and passwords that are granted various l
133. g lt P gt Paragraph lt PRE gt lt PRE gt Preformatted text lt BR gt Forced line break lt BLOCKQUOTE gt lt BLOCKQUOTE gt Text quoted from another source Introduction To HTML C 7 The previous section provides all you need to know to get started with HTML At this point you can write a simple document in HTML However the following sections show you how to enhance your HTML pages to present information in many different fashions List Tags Ordered Lists C 8 There are three basic lists in HTML ordered These lists have numbered items unordered These lists have bullets to mark each item definition These lists alternate a term with its definition You can create nested lists with indents using the ordered or unordered tags Simply place a second list complete with its own start and end tags within the first lists enclosing tags Whether the nested list uses the same markers numbers or bullets depends on the browser some track the number of nests you use and change the markers of each successive nesting to blocks or other symbols See the following example in the section Nested Lists In an ordered list the browser automatically inserts numbers Therefore if you insert or delete an item in your ordered list the numbers will reflect the change automatically An ordered list begins with lt OL gt and ends with lt OL gt The individual list items are started with the lt LI gt tag
134. gs give hints to the browser as to how a character or character string should appear but each browser determines its actual appearance Essentially they place text into categories such that all text ina given category is given the same special treatment but the browser determines what that The PL SQL Web Toolkit Reference 6 37 htp cite htp code 6 38 treatment is For example the HTML string lt stronc gt Here is some text lt STRONG gt might appear as bold in some browsers or might flash instead If a specific text attribute such as bold is desired a physical format tag may be necessary See the section Physical Format Tags for more information Note All the hypertext procedures HTP shown in this section are also available as hypertext functions HTF Syntax htp cite ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround as a citation Usually rendered as italics Parameters ctext in varchar2 cattributes in varchar2DEFAULT NULL Generates lt CITE cattributes gt ctext lt CITE gt Syntax htp code ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround as an example of code output Usually rendered in monospace format e g Courier Parameters ctext in varchar2 cattributes in varchar2DEFAULT NULL Generates lt CODE cattributes gt ctext lt CODE gt Oracle WebServer 2 0 User s Guide htp emphasis htp e
135. gt gt You only use the brackets at the target itself not in the GOTO statement that references it so a GOTO statement transferring execution to the above label would be GOTO this_is_a_label Note An EXIT statement can also take a label if that label indicates the beginning of a loop enclosing the EXIT statement You can use this to exit several nested loops at once See Loop Labels in the PL SQL User s Guide and Reference for more information Oracle WebServer 2 0 User s Guide A GOTO statement is subject to the following restrictions e It must branch to an executable statement not for example an END e It cannot branch to a point within the body of IF or a LOOP statement unless it is contained in the body of that statement itself e It cannot branch to a subprogram or enclosing block of the present block with one exception explained shortly e It cannot branch from one IF statement clause to another That is to say it cannot jump between THEN ELSIF and ELSE clauses that are part of the same IF statement e It cannot branch from the EXCEPTION section to the EXECUTABLE section of the same block e It can however branch from the EXCEPTION section of a block to the EXECUTABLE section of an enclosing block which is the exception to the third rule above The EXCEPTION Section The EXCEPTION section follows the END that matches the BEGIN of the EXECUTABLE section and begins with the keyword EXCE
136. har2 DEFAULT NULL cvalue in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt INPUT TYPE text NAME cname SIZE csize MAXLENGTH cmaxlength VALUE cvalue cattributes gt Syntax htp formSelectOpen cname cprompt nsize cattributes Purpose Prints an HTML tag that begins a Select list of alternatives Contains the attribute NAME which specifies the name that will be submitted as a name value pair The PL SQL Web Toolkit Reference 6 47 Parameters cname in varchar2 cprompt in varchar2 DEFAULT NULL nsize in integer DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates cprompt lt SELECT NAME cname PROMPT cprompt SIZE nsize cattributes gt Example htp formSelectOpen greatest_player Pick the greatest player htp formSelectOption Messier htp formSelectOption Howe htp formSelectOption Hull htp formSelectOption Gretzky htp formSelectClose generates Pick the greatest player lt SELECT NAME greatest_player gt lt OPTION gt Messier lt OPTION gt Howe lt OPTION gt Hull lt OPTION gt Gretzky lt SELECT gt Note See htp formSelectOption and htp formSelectClose htp formSelectOption 6 48 Syntax htp formSelectOption cvalue cselected cattributes Purpose Prints an HTML tag that represents one choice in the Select element Parameters cvalue in varchar2 cselected in varchar2 DEFAULT NUL
137. he CERN com puter software included herein or parts thereof Oracle WebServer 2 0 2 contains encryption and or authentication engines from RSA Data Security Inc Copyright 1996 RSA Data Security Inc All rights reserved All other products or company names are used for identification purposes only and may be trademarks of their respective owners Preface The Oracle WebServer User s Guide is part of the Oracle WebServer documentation set which contains e This book the Oracle WebServer User s Guide e The Oracle WebServer online documentation e The Oracle WebServer Quick Reference e The Oracle WebServer Installation Guide for your platform The online documentation is provided in both html and pdf formats To view the htm1 files you can use any standard web browser program that supports tables Once you have installed the Oracle WebServer you can follow the link from the product home page to the online documentation This Preface discusses this Guide s e Organization e Typographic conventions e Related documents How this Guide is Organized e Chapter 1 Oracle WebServer Concepts defines and explains WebServer terms and concepts and provides background information This chapter gives an orientation to the product Chapter 2 Using the Oracle WebServer Manager provides a brief introduction to the Oracle WebServer Manager and lists the tasks you can perform with it Chapter 3 Setting Up a Secur
138. he PL SQL Web Toolkit you need a conceptual understanding of HTML For example you must know at what points in your page anchors are necessary although you needn t write the actual code for the anchors The PL SQL Agent takes care of interfacing to the needed environment variables and generating the HTML code 4 4 HTTP protocol When the Oracle Web Listener that is running on www nhl com receives the request the substring ows bin nhl owa signals the Web Listener to connect to the PL SQL Agent instead of returning a file to the browser as it normally would have done with a static HTML document The URL is processed as follows The Listener is configured so that the string ows bin nhl owa causes it to invoke the WRB Dispatcher The WRB Dispatcher understands owa to mean it should pass execution to a WRBX interfaced to the PL SQL Service It passes the WRBX the following information in the form of CGI environment variables For the sake of compatibility WRB understands CGI environment variables The string ows bin nhl owa is passed as the environment variable SCRIPT_NAME The PL SQL Agent parses the SCRIPT_NAME to extract the DCD which is nhl The DCD is passed as the directory name immediately preceding owa but is actually a file containing database connection information owa is the name of the PL SQL Agent itself The use of DCDs is specific to the PL SQL Agent The string hockey_pass is passed as the environment varia
139. he explanations of the syntax components virtual path This is similar to a path you would use to access a regular document or image That is it is a pathname that identifies the application that you want executed extra path information This is optional additional information embedded in the URL after the pathname This consists primarily of various environment variables that you can use to pass information to the application query string This is another optional part of the URL This is used to directly supply parameter values as opposed to environment variable values to the requested application The parameters are specified in the following form lt parameter name gt lt value gt Example of a URL Invoking an Application This section provides an example of a URL that invokes a PL SQL Agent to access the database Here is the URL in question http www nhl com 8080 ows bin nhl owa hockey_pass person Gretzky 1 The substring http www nhl com 8080 in the above URL signals the Web browser to connect to the www nhl com host s port 8080 using the Developing Applications for the Oracle WebServer 4 3 The PL SQL Agent The WebServer employs the PL SQL Agent to execute PL SQL procedures stored in the database If you install the PL SQL Web Toolkit with your PL SQL Agent you can use a set of predefined PL SQL packages to generate HTML formatted output leaving you free to focus on the logic of your application Even using t
140. he form OWS 05528 Service service name submission failed because the DBA User submitted does not have privilege privileges Action Choose a different Oracle username and password for the DBA user submitted or have the specified privilege granted to this user by another DBA OWS 05529 Service service name to modify does not exist Cause The user chose to modify an existing Web Agent service however that service does not exist This error should not occur unless the service to modify was deleted from a different form after this service modification form was generated Action Create a new service OWS 05530 Service service name submission failed because the NLS Language could not be determined Cause The Web Agent Administration package was unable to lookup the NLS Language for the specified database Action Specify the value explicitly or submit a valid dba username and password 7 6 Oracle WebServer 2 0 User s Guide OWS 05531 Service service name submission failed because neither Server Manager nor SOL DBA could be run Cause The Web Agent Administration package was unable to install the Oracle WebServer PS SQL Web Toolkit which must be done from Server Manager line mode or SQL DBA Action Install either Server Manager or SQL DBA in the ORACLE_HOME where the Web Agent administration is installed 5600 5699 Oracle Web Database Administration errors OWS 05610 Startup
141. he syntax diagram means or Note Many HTML 3 0 tags have a large number of optional attributes that if passed as individual parameters to the hypertext procedures or functions would make the calls quite cumbersome In addition some browsers support non standard attributes Therefore each hypertext procedure or function that generates an HTML tag has as its last parameter cattributes an optional parameter This parameter enables you to pass the exact text of the desired HTML attributes to the PL SQL procedure For example the syntax for htp em is htp em ctext cattributes The PL SQL Web Toolkit Reference 6 5 Print Procedures htp print htp prn 6 6 A call that uses HTML 3 0 attributes might look like the following htp em This is an example ID SGML_ID LANG en This line would generate the following lt EM ID SGML_ID LANG en gt This is an example lt EM gt The following print procedures are used in conjunction with htf functions to generate a line in the HTML document being constructed They can also be passed hard coded text that will appear in the HTML document as is The generated line is passed to the PL SQL Agent which sends it to standard output As documented in the CGI 1 1 specification the Oracle Web Listener takes the contents of standard output and returns it to the Web browser that requested the dynamic HTML document Syntax htp print cbuf dbuf nbuf Purpos
142. her user has another session and therefore another set of values Nonetheless a global reinitialization of a package s objects for you does not take place until you disconnect from the database There is an exception however When one package calls another execution of the second has a dependency on the first If the first is invalidated for example because its creator loses a privilege that the package requires the second while not necessarily invalidated becomes deinstantiated That is to say all its objects are reinitialized Note In PL SQL stored procedures and packages are automatically recompiled if changes to the database mandate it For example a change to the datatype of a column can automatically cascade to a variable referencing that column if the former is declared with the TYPE attribute but that change requires that the PL SQL procedure declaring that variable be recompiled So long as the PL SQL code as written is still valid the recompilation occurs automatically and invisibly to the user To create a package you use the SQL statement CREATE PACKAGE for the specification and CREATE PACKAGE BODY for the body You must create the specification first Sometimes a package may consist of only public variables types and constants in which case no body is necessary Generally however you use both parts Note Before you can create a package the special user SYS must run the SQL script DBMSSTDX SQL The exact name
143. her words you must specify the following e A trigger name This is used to alter or drop the trigger The trigger name must be unique within the schema e BEFORE or AFTER This specifies whether this is a BEFORE or AFTER trigger e INSERT UPDATE or DELETE This specifies the type of statement that fires the trigger If itis UPDATE you optionally can specify a list of one or more columns and only updates to those columns fire the trigger In such a list separate the column names with commas and spaces You may specify this clause more than once for triggers that are to respond to multiple statements if you do separate the occurrences with the keyword OR surrounded by white space e ON table_name This identifies the table with which the trigger is associated e PL SQL Block This is an anonymous PL SQL block containing the code the trigger executes You optionally can specify the following e OR REPLACE This has the usual effect e FOREACH ROW WHEN predicate This identifies the trigger as a row trigger If omitted the trigger is a statement trigger Even if this clause is included the WHEN clause remains optional The WHEN clause contains a SQL not a PL SQL predicate that is tested against each row the triggering statement alters If the values in that row make the predicate TRUE the trigger is fired else it is not If the WHEN clause is omitted the trigger is fired for each altered row Here is an example CREA
144. hod Invalid Argument Value s Exception oracle lang HtmlRuntimeException Cause The client programmer has supplied incorrect argument value s for the named Method Action Change the argument values Message Method Circular Reference Exception oracle lang HtmlRuntimeException Cause The client programmer has attempted to add a Container Compoundltem to itself Oracle WebServer Messages 7 11 Action Remove that statement from the client application program Message Method File filename Not Found Exception oracle lang HtmlRuntime Exception Cause This package method cannot find the named file in the system s path Action Provide the correct file path na Message Method IO Exception caught me and or change the system path Exception oracle lang HtmlRuntime Cause An IO Exception has occurred Action Check if the disk storage device 7 12 Exception is full or if there is a sharing violation Oracle WebServer 2 0 User s Guide APPENDIX Glossary Administration DCD The Database Connection Descriptor DCD used by the administration server to manage PL SQL Agent database access Administration Server A collection of special instances of WebServer components that a WebServer administrator uses to configure and maintain the WebServer Applet A Java term for small programs that can be dynamically imported into Web pages or applications as needed Gener
145. ibutes Purpose Prints an HTML tag that defines a single frame within a frameset Parameters csrc in varchar2 cname in varchar2 DEFAULT NULL cmarginwidth in varchar2 DEFAULT NULL cmarginheight in varchar2 DEFAULT NULL escrolling in varchar2 DEFAULT NULL cnoresizei n varchar2 DEFAULT NULL cattributes i n varchar2 DEFAULT NULL Oracle WebServer 2 0 User s Guide htp noframesOpen htp noframesClose Generates lt FRAME SRC csrc NAME cname MARGINWIDTH cmarginwidth MARGINHEIGHT cmarginheight SCROLLING cscrolling NORESIZE cattributes gt Syntax htp noframesOpen Purpose Prints an HTML tag to open a container of content which is viewable by non Frame capable web browsers Parameters none Generates lt NOFRAMES gt Syntax htp noframesClose Purpose Prints an HTML tag to close a container of content which is viewable by non Frame capable web browsers Parameters none Generates lt NOFRAMES gt List Tags List tags allow you to display information in any of the following ways e ordered these lists have numbered items e unordered these lists have bullets to mark each item The PL SQL Web Toolkit Reference 6 31 htp listHeader htp listItem e definition these lists alternate a term with its definition Note Allthe hypertext procedures HTP shown in this section are also available as hypertext functions HTF Syntax htp listHeader ctext cattributes Purpose Prin
146. ical Format Tags 0 006666 nnn eens 6 41 Form Tags esaesa 08 ah Binh a ana tingle aden tits an Bea daa nia cera 6 42 Table Tags idni e ines N odlere ele nell thal digitata 6 51 OWA LUTIL Package ser eiii ieie ae won eee ed ela dalle hy acs 6 55 OWA PATTERN PAaCka e x 5 06 206 sh abind unano a rnnr rererere 6 63 OWA TEXT miian cried se arsine E at ane stil gota cl grid a ahd EG stad ue Brad 6 75 COW Pe IMAGE ica setae e wach Ro ine Gan PRs ete I acu Ee ene a BAe ea 6 78 OWA COOKIE Fasc thant ie apt he cir ett ahd aeae cides cain de a AA E how ok 6 79 OW ALINGT EE yd ak ipod Cia Gan Cand Canniek E EE 6 81 Oracle WebServer Messages 0c cece eee e cece eee eeeeeeeeeees 7 1 00001 00600 Generic Oracle WebServer Configuration Messages 7 1 5000 5499 Oracle Web Agent errors 06 eee eee 7 3 5500 5599 Oracle Web Agent Administration errors and messages 7 5 5600 5699 Oracle Web Database Administration errors 7 7 5700 5799 Oracle Web Listener Configuration errors and messages 7 8 5800 5899 Oracle Web Request Broker Administration messages 7 10 5900 5999 Oracle WebServer Registration errors and messages 7 11 7500 7599 Oracle Web Server Proxy errors and messages 7 11 Oracle Java Web Toolkit Messages 00 0 c cece cee eee 7 11 GLOSSARY ianao Se pies wv alin EE EEE GAA E lv Rial exec oes Salo ee A 1 Overview of the Oracle7 Server SOL and PL SQL
147. icates that a process has encountered an exceptional condition Action Report as a bug the first argument is the internal error number 7 2 Oracle WebServer 2 0 User s Guide 5000 5499 Oracle Web Agent errors OWS 05100 Agent unable to connect due to Oracle error number Cause The Oracle Web Agent was unable to connect to the specified Database due to an Oracle error Action See the corresponding Oracle error Common errors are invalid username password check the Web Agent configuration file Oracle not available start up the database OWS 05101 Agent execution failed due to Oracle error number Action See the Oracle error on the error stack OWS 05102 Agent initialization failed due to error number Action See the Oracle error on the error stack OWS 05103 Agent error number during initialization Action See the Oracle error on the error stack OWS 05104 Agent unable to attach to host database ORACLE_HOME ORACLE_SID SQL Net V2 Service Action See the Oracle error on the error stack OWS 05110 Agent no stored procedure specified to call Cause OWA requires the PATH_INFO environment variable to be set PATH_INFO is set based on information passed through the URL after the OWA executable name and before the or end of the URL Action specify a stored procedure name after the OWA executable name in the URL OWS 05111 Age
148. idden field col_counter 2 loop build a comma delimited list of columns column_list column_list cols col_counter col_counter col_counter 1 end loop exception when no_data_found then strip out the last trailing comma column_list substr column_list 1 length column_list 1 print the table assumes HTML table support ignore owa_util tablePrint the_table BORDER OWA_UTIL HTML_TABLE column_list end Then after selecting the Execute Query button the user would see the following Developing Applications for the Oracle WebServer 4 11 po JAMES CLERK If you cannot guarantee that at least one value will be submitted for the PL SQL table itis a good idea to use a hidden place holder variable as the first value The reason is that you cannot provide a default NULL value for a PL SQL table and a call to this procedure with just one argument the_table would cause the PL SQL Agent to generate an error Note that the PL SQL Agent can only pass parameters to PL SQL tables that have a base type of VARCHAR2 This should not provide a significant limitation as the PL SQL type VARCHAR2 is the largest PL SQL datatype with a maximum length of 32K 32767 bytes The values can then be explicitly converted to NUMBER DATE or LONG within the stored procedure using TO_NUMBER or TO_DATE no conversion needed for LONGs Overloading Procedures As explained in the Overview of the Oracl
149. in varchar2 curl in varchar2 ctitle in varchar2 DEFAULT NULL Generates lt LINK REL crel HREF curl TITLE ctitle gt The PL SQL Web Toolkit Reference 6 11 htp linkRev htp meta 6 12 Syntax htp linkRev crev curl ctitle Purpose Gives the relationship described by the hypertext link from the target to the anchor This is the opposite of htp linkRel This tag indicates a relationship between documents but does not create a link To do that use htp anchor Parameters crev in varchar2 curl in varchar2 ctitle in varchar2 DEFAULT NULL Generates lt LINK REV crev HREF curl TITLE ctitle gt Syntax htp meta chttp_equiv cname ccontent Purpose Prints an HTML tag that identifies and embeds document meta information that supplies the Web browser with information about the objects returned in HTTP Parameters chttp_equiv in varchar2 cname in varchar2 ccontent in varchar2 Generates lt META HTTP EQUIV chttp_equiv NAME cname CONTENT ccontent gt Example htp meta Refresh NULL 120 This line produces lt META HTTP EQUIV Refresh CONTENT 120 gt which on some Web browsers will cause the current URL to be reloaded automatically every 120 seconds Oracle WebServer 2 0 User s Guide Body Tags htp line htp hr htp nl Body tags are used in the main text of your HTML page They can format a paragraph allow you to add hidden Comments to your
150. ing the third or fourth version of the function e Given the above you can determine which version you are using as follows if you are using a multi_line it is version 5 or 6 If you are using backrefs it is version 3 or 4 Otherwise it is version 1 or 2 Once you have determined the pair you determine the actual version by whether the regular expression is a VARCHAR string odd numbered or a pattern even numbered AMATCH is a function giving a number that indicates the number of characters from the beginning of the target to the end of the first match found AMATCH stops searching after the first match If no match is found it returns 0 Here is a summary of the versions of AMATCH e Following the target but preceding the regular expression is the input parameter from_loc This indicates how many characters from the beginning of the target the search should commence e The regular expression can be either a VARCHAR string or a pattern You can create a pattern from a string using the getpat function described later in this section If you use a pattern you are using one of the even number versions of the function The PL SQL Web Toolkit Reference 6 67 e After the regular expression but before the flags you can add an optional output parameter called backrefs This is a PL SQL table see PL SQL Tables that will hold each string in the target that was matched by a sequence of tokens in the regular expression If yo
151. interpret URLs 1 2 memory management 1 5 Overview of 1 3 Web pages applications and 4 2 dynamic 1 16 4 2 4 4 from Java 4 25 including in LiveHTML 4 30 dynamic data embedded in static 1 17 embedded 4 30 Web Request Broker WRB 1 11 WebServer executing Java on 1 16 Overview of 1 2 WebServer Administrators 1 1 WebServer Manager overview of 1 9 WHILE loops PL SQL B 24 WRB 1 11 CGI environment variables and 4 6 overview of 1 2 WRB cartridges defined 1 2 WRB Dispatchers how invoked 4 4 WRB Services defined 1 2 WRBXs allocation of requests to 1 12 connect to database 4 16 connecting to database 1 13 data passed to 1 12 defined 1 2 single threaded 1 12 Oracle WebServer 2 0 User s Guide
152. ion Oracle WebServer 2 0 User s Guide MATCH is a function that returns TRUE or FALSE depending on whether a match was found Here is a summary of the versions of MATCH e The target can be either a simple VARCHAR2 string of less than 32K or a multi_line A multi line is described under OWA_TEXT Datatypes You can create a multi_line from a long string using the stream2multi function described under OWA_TEXT If a multi_line is used there is a parameter called rlist after the regular expression but before the flags This is a list of the chunks where matches were found Use of a VARCHAR2 implies use of one of the first four versions of this function Use of a multi_line implies use of version 5 or 6 e The regular expression can be either a VARCHAR string or a pattern You can create a pattern from a string using the getpat function described later in this section If you use a pattern you are using one of the even number versions of the function e If the line is a string and not a multi_line then you can add an optional output parameter called backrefs This goes after the regular expression but before the flags You cannot use backrefs if you pass a multi_line to MATCH because this is the same place in the parameter list that the rlist parameter would go The backrefs parameter is a row_list that holds each string in the target that was matched by a sequence of tokens in the regular expression If you use backrefs you are us
153. ion about client server interaction or for password information IMAGE An image field upon which you can click with a pointing device causing the form to be immediately submitted The coordinates of the selected point are measured in pixel units from the upper left corner of the image and are returned along with the other contents of the form in two NAME VALUE pairs The x coordinate is submitted under the name of the field with x appended and the y coordinate is submitted under the name of the field with y appended Any value attribute is ignored The image itself is specified by the SRC attribute exactly as for the lt IMG gt tag PASSWORD Same as TEXT attribute except that password text is not displayed as it is entered RADIO For attributes which can take a single value from a set of alternatives Each radio button field in the group should be given the same NAME Only the selected radio button in the group generates a NAME VALUE pair in the submitted data Radio buttons require an explicit VALUE attribute RESET This is a button that when pressed resets the form s fields to their specified initial values SUBMIT This button when pressed submits the form You can use the VALUE attribute to provide anon editable label to be displayed on the button The default label is application specific The NAME attribute if used passes a name value pair along with the submitted form TEXT Single line text entry field
154. is discussion procedure shall mean procedure or function unless otherwise indicated or clear from context is a database object like a table It resides in a schema and its use is controlled by privileges To create a procedure and have it compile successfully you must meet the following conditions e Ifthe procedure is to be in your own schema you must have the CREATE PROCEDURE or the CREATE ANY PROCEDURE system privilege These privileges apply as well to functions e If the procedure is to be in a schema you do not own you must have the CREATE ANY PROCEDURE system privilege e You must have the object privileges necessary to perform all operations contained in the procedure You must have these privileges as a user not through roles If your privileges change after you have created the procedure the procedure may no longer be executable Oracle WebServer 2 0 User s Guide To enable others to use the procedure grant them the EXECUTE privilege on it using the SQL statement GRANT see GRANT in Chapter 4 of the Oracle7 Server SQL Reference When these users execute the procedure they do so under your privileges not their own Therefore you do not have to grant them the privileges to perform these actions outside the control of the procedure which is a useful security feature To enable all users to use the procedure grant EXECUTE to PUBLIC The following example permits all users to execute a procedure called sho
155. istence in the file system Check file and directory permissions and ownership as well as the ownership of the signalling process OWS 00002 utility error reading file filename Cause Usually an operating system error If the problem had been file permissions or non existence error 1 would have been signalled Action Check your operating system log for errors OWS 00003 utility error writing file filename Cause Usually an operating system error If the problem had been file permissions or non existence error 1 would have been signalled Action Check your operating system log for errors OWS 00010 utility file format error when reading filename Cause The signalling program expected a specific file format which it did not find Action Analyze the file for incorrect formatting OWS 00011 Installation not completed Root sh must be run Cause The signalling program checked if root sh completed successfully Action Run root sh as indicated by your installation guide OWS 00020 utility out of memory when requesting number bytes Cause The operating system was not able to supply the requested amount of memory Action Reduce the number of running programs on the machine and retry the operation OWS 00600 utility internal error arguments arg1 arg2 arg3 larg4 larg5 Cause This is the generic internal error number for NDW program exceptions This ind
156. it see Passing Parameters to PLISOL OWA_PATTERN Package The OWA_PATTERN package enables you to do sophisticated string manipulation using regular expressions OWA_PATTERN provides the following three operations e MATCH This determines whether a regular expression exists in a string This is a function that returns TRUE or FALSE The PL SQL Web Toolkit Reference 6 63 Regular Expressions Tokens e AMATCH This is amore sophisticated variation on MATCH that lets you specify where in the string the match has to occur This is a function that returns as an integer the end of the location in the string where the regular expression was found If the regular expression is not found it returns 0 e CHANGE This lets you replace the portion of the string that matched the regular expression with a new string CHANGE can be either a procedure or a function If a function it returns the number of times the regular expression was found and replaced There are also operations that these operations use but that you can also use directly These are explained shortly The OWA_PATTERN operations all use the following three parameters e line This is the target to be examined for a match Despite the name it can be more than one line of text or can be a PL SQL table see PL SOL Tables of type multi_line e pat This is the regular expression the functions attempts to locate in line This regular expression uses the special tokens exp
157. its error file The error file differs from the page in that it is for the WebServer administrator s attention rather than the clients owa_nIs_lang The NLS_LANG of the Oracle7 database to which the PL SQL Agent connects If not specified the PL SQL Agent administration program looks up the database NLS_LANG when the service is submitted The NLS_LANG indicates the language to be used How the PL SQL Agent Uses Environment Variables 4 6 Note These are CGI standard environment variables However the PL SQL Agent can use them whether it is invoked through CGI or through the Web Request Broker WRB The PL SQL Agent uses the environment variables shown below CGI Variables Used by the Oracle PL SQL Agent Variable Contains REQUEST_METHOD GET or POST PATH_INFO the name of PL SQL procedure to invoke Oracle WebServer 2 0 User s Guide Variable Contains SCRIPT_NAME contains the DCD the PL SQL Agent is to use when logging on to Oracle7 QUERY_STRING parameters to the PL SQL procedure for GET method only POST method parameters are passed via standard input Passing Parameters to PL SQL A PL SQL procedure usually requires parameters in order to execute and generate the appropriate HTML document The following section discusses several key concepts and tips that a PL SQL developer should understand with respect to how parameters get passed to the specified PL SQL routine These key concepts and tip
158. l Web Listener processes at once on your WebServer host computer Using the Oracle Web Listener Administration Form you can create and configure a new Web Listener process or choose an existing Web Listener process from a list and either modify its configuration or delete it Configuring the PL SQL Agent The PL SQL Agent allows the Oracle Web Listener to access an Oracle7 database in response to an HTTP request and return the results to the requestor in HTML form There are two versions of the PL SQL Agent e The PL SQL Agent WRB Service uses the Web Request Broker WRB interface to communicate with the Web Listener e The PL SQL Agent CGI Program uses the Common Gateway Interface CGI to communicate with the Web Listener The PL SQL Agent WRB Service is the preferred version because it takes advantage of the high performance of the Web Request Broker interface The PL SQL Agent CGI Program is provided only for backward compatibility to version 1 0 of the Oracle WebServer Configuring the Web Request Broker The Web Request Broker provides a programming interface for writing WebServer back end applications You can use the Web Request Broker Administration Form to perform general Web Request Broker configuration and to configure specific WRB cartridges Oracle WebServer Manager Tasks The following list is a summary of the configuration tasks you can perform using the Oracle WebServer Manager Following one of these task ca
159. lained shortly Note in CHANGE this is called from_str e flags These are arguments that control how the search is to be performed Some of the operations take additional parameters as well You specify a regular expression by creating the string you want to match interspersed with various wildcard tokens and quantifiers The wildcard tokens all match something other than themselves and the quantifiers modify the meaning of tokens or of literals by specifying such things as how often each is to be applied The wildcard tokens that are supported are as follows Matches newline or the beginning of the target Matches newline or the end of the target n Matches newline Matches any character except newline t Matches tab d Matches digits 0 9 Oracle WebServer 2 0 User s Guide Quantifiers Flags D Matches non digits not 0 9 w Matches word characters alphanumeric 0 9 a z A Z or _ W Matches non word characters not 0 9 a z A Z or _ s Matches whitespace characters blank tab or newline S Matches non whitespace characters not blank tab or newline b Matches word boundaries between w and W x lt HEX gt Matches the value in the current character set of the two hexidecimal digits lt OCT gt Matches the value in the current character set of the two or three octal digits Followed by any character not covered by another case matches that character amp Applies only to CH
160. le in the PL SQL procedure Note that param_name is case insensitive Parameters param_name in varchar2 Generates Returns value of specified CGI environment variable for PL SQL procedure If the value is not set returns null owa_util print_cgi_env Syntax owa_util print_cgi_env Purpose Enables programmer to print all of the CGI environment variables made available by the PL SQL Agent to the PL SQL procedures This utility is good for testing purposes The PL SQL Web Toolkit Reference 6 57 Parameters none Generates Prints CGI environment variables made available by the PL SQL Agent to the PL SQL procedures owa_util mime_header owa_util redirect_url Syntax owa_util mime_header ccontent_type bclose_header Purpose Enables programmer to change the default MIME header that the PL SQL Agent returns This must come before any htp print or htp prn calls in order to signal the PL SQL Agent not to use the default If bcloseheader is TRUE two newlines are sent which closes the HTTP header Otherwise one newline is sent and the HTTP header is still open Parameters ccontent_type in varchar2 bclose_header in boolean DEFAULT TRUE Generates Content type lt ccontent_type gt n n Syntax owa_util redirect_url curl bclose_header Purpose Enables programmer to specify that the WebServer visit a specified URL The URL may specify either a Web page that is returned or a program that is executed This must c
161. listener attempted to be accessed owl cfg might have been corrupted Action Make sure a non existent listener is not referred to OWS 05805 Could not copy WRB configuration from listener listener name1 to listener listener name2 Cause WRB configuration file of from listener may not exist System file copying error Action Make sure wrbadmin utility has permissions to read and write and the source file exists OWS 05810 Configuration of cartridge cartridge name for listener listener name not found Cause Attempt to modify or delete a cartridge configuration that doesn t exist Action Reload the WRB Configuration form to get current list of cartridges for this listener 7 10 Oracle WebServer 2 0 User s Guide 5900 5999 Oracle WebServer Registration errors and messages OWS 05901 Please enter a value for field field Cause The specified field is a required field for registration Action Type a value into the specified field and re submit the form 7500 7599 Oracle Web Server Proxy errors and messages OWS 07500 Proxy switch could not be accessed Cause Error while reading or writing proxy switch value Action Check configuration file location format OWS 07501 Proxy Administration Form has invalid input values Cause Form is being submitted with invalid field values Action Check and correct field values Oracle Java Web Toolkit Messages Message Met
162. literal here for clarity In actuality Cats in pajamas would be the value of a variable and that value would be changed Were this a function rather than a procedure the value it would return would not be Cats in red pajamas but 1 indicating that a single substitution had been made e The flag g indicates that all matching portions of the target are to be replaced by the regular expression Otherwise only the first match is replaced e The way to distinguish the versions is by whether the target is a string version 1 or 2 or a multi_line version 3 or 4 Within these pairs odd numbers are functions and even procedures Here are the formal descriptions of the OWA_PATTERN procedures and functions 6 68 Oracle WebServer 2 0 User s Guide Procedures and Functions owa_pattern match version 1 Syntax owa_pattern match line pat flags Purpose Enables programmers to search a string for a pattern using regular expressions Parameters line in varchar2 pat in varchar2 flags in varchar2 DEFAULT NULL Generates Boolean indicating whether match was found owa_pattern match version 2 Syntax owa_pattern match line pat flags Purpose Enables programmers to search a string for a pattern using regular expression Parameters line in varchar2 pat inout pattern flags in varchar2 DEFAULT NULL Generates Boolean indicating whether match was found owa_pattern match version 3 Syntax owa_pattern
163. lto concatenated ahead of the mail address argument The PL SQL Web Toolkit Reference 6 15 htp img htp img2 6 16 Parameters caddress in varchar2 ctext in varchar2 cname in varchar2 cattributesi n varchar2 DEFAULT NULL Generates lt A HREF mailto caddress cattributes gt ctext lt A gt Example htp mailto pres white_house gov Send Email to the President prints lt A HREF mailto pres white_house gov gt Send Email to the President lt A gt Syntax htp img curl calign calt cismap cattributes Purpose Prints an HTML tag that signals the browser to load an image to be placed into the HTML page ALT allows you to specify alternate text to be shown while the image is being loaded or instead of the image if the browser does not support images The ISMAP attribute indicates that the image is an image map Parameters curl in varchar2 DEFAULT NULL calign in varchar2 DEFAULT NULL calt in varchar2 DEFAULT NULL cismap in varchar2 DEFAULT NULL cattributes i nvarchar2 DEFAULT NULL Generates lt IMG SRC curl ALIGN calign ALT calt ISMAP cattributes gt Syntax htp img curl calign calt cismap cusemap cattributes Oracle WebServer 2 0 User s Guide htp para htp paragraph Purpose Prints an HTML tag that signals the browser to load an image to be placed into the HTML page ALT allows you to specify alternate text to be shown while the image is being loaded or in
164. m htp keyboard htp kbd Syntax htp emphasis ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround as requiring typographic emphasis This tag is equivalent to htp em Usually rendered as italics Parameters ctext in varchar2 cattributes in varchar2DEFAULT NULL Generates lt EM cattributes gt ctext lt EM gt Alias for htp emphasis Syntax htp keyboard ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround as text typed in by the user which usually is rendered as monospace This tag is equivalent to htp kbd Parameters ctext in varchar2 cattributes in varchar2DEFAULT NULL Generates lt KBD cattributes gt ctext lt KBD gt Alias for htp keyboard The PL SQL Web Toolkit Reference 6 39 htp sample htp strong htp variable Syntax htp sample ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround as a sequence of literal characters that must be typed in the exact sequence in which they appear Usually rendered as monospace font Parameters ctext in varchar2 cattributesi n varchar2DEFAULT NULL Generates lt SAMP cattributes gt ctext lt SAMP gt Syntax htp strong ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround as needing strong typographic emphasis Usually rendered as bold Parameters ctext in varchar2 cattributes in varch
165. mHidden COLS dummy for crec in cols loop Create a checkbox for each column The form field name will be COLS and the value will be the given column name Will need to use a PL SQL table to retrieve a set of values like this Can use the owa_util ident_arr type since the columns are identifiers htp formCheckbox COLS crec column_name htp print crec column_name htp nl end loop Pass a NULL field name for the Submit field that way a name value pair is not sent in Wouldn t want to do this if there were multiple submit buttons htp formSubmit NULL Execute Query htp formClose htp bodyClose htp htmlClose end Invoking this procedure brings up a page that looks like this a d _I zi o J aj mj pea 4 10 Oracle WebServer 2 0 User s Guide In this example the user has already selected to query the EMPNO ENAME JOB and SAL columns Here is a procedure to process this form submission DO_QUERY executes the query on the specified columns and tables The OWA_UTIL IDENT_ARR datatype is defined as type ident_arr is table of varchar2 30 index by binary_integer create or replace procedure do_query the_table in varchar2 cols in owa_util ident_arr is column_list varchar2 32000 col_counter integer ignore boolean begin For PL SQL tables have to just loop through until you hit no_data_found Start the counter at 2 since we put in a dummy h
166. main program In this example the program is called EmployeeReport This program will be saved in a file called EmployeeReport java 4 20 Oracle WebServer 2 0 User s Guide import oracle html public class EmployeeReport public static void main String args HtmlHead hd HtmlBody bd HtmlPage hp new HtmlPage hd bd hp printHeader ps Prink new HtmlHead Employee Listing new HtmlBody Generating the Java Wrapper Class for the Employee Package To access the Employee package you must generate a Java wrapper class for it This encapsulates the package as a Java class The functions and procedures in the package will appear as methods in the wrapper class under the same names PL SQL datatypes are encapsulated by Java objects For example a PL SQL VARCHAR string is encapsulated by a Java PStringBuffer object and a PL SQL number is encapsulated by a Java PDouble object To generate the Java class wrapper for Employee package execute the following command at a command prompt pl2java scott tiger HR_DB Employee This generates the class wrapper Employee class in the current directory The class will have 1 constructor and 2 methods for the Employee package public class Employee public Employee Session session public PDouble count_employees PStringBuffer dept_name throws ServerException public void list_employees PStringBuffer dept_name PStringBuffer employee_name
167. me cases interfaces have been used to specify the attributes of HTML tags This was done to simplify cases where tag assignments can be complex or where similar arguments are used by several types of tags If you have a body of HTML you want to use repeatedly you can encapsulate it in an object of class Compounditem and thereafter treat it as a single HTMLitem 4 26 Oracle WebServer 2 0 User s Guide The HTML tags that you can dynamically generate using the supplied objects are listed below HTML FEATURE JAVA OBJECTS THAT GENER ATE headings HTMLHead page breaks HTMLPage main body of page HTMLBody Comments Comment links Link anchors Anchor client side Java applets Applet checkboxes CheckBox forms Form lists Java classes exist for various types frames Frameset Frame hidden fields Hidden GIF graphics Image select options Select Option passwords PasswordField radio buttons Radio tables Table DynamicTable TableRow Ta bleCell TableDataCell TableHeader Cell TableRowCell text areas TextArea TextField As you can see the Java objects that generate the main structural HTML tags begin with HTML others are chiefly named for the tags they generate The general procedure is to use the first three objects to define the basic structure of your generated Web page to then to use the AddItem method to add HTMLItems to the body Java Dynamic HTML E
168. me is a unique character string that identifies exactly one computer on the Internet although each computer can be represented on the Internet by several host names The Domain Name Service DNS maintains a distributed database that maps host names to IP addresses DNS servers provide Internet computers with lookup services for this database hal us oracle com is an example of a fully qualified host name A domain is a named DNS host name space such as us oracle com All host names within a domain must be unique For example there must be only one host named hal in the us oracle com domain The Oracle Web Listener can accept secure connections using the Secure Sockets Layer SSL an emerging standard for secure data transmission The combination of IP address and port number is called a socket See The Secure Sockets Layer for more information on the Oracle WebServer s implementation of SSL Clients use a secure version of HTTP called HTTPS to establish secure connections with SSL To establish a secure connection with a Web Listener process a request URL must use https instead of http must specify a port on which the Web Listener has enabled SSL for example https www blob com 443 You can configure an Oracle Web Listener process to act as a proxy server an HTTP engine running on a firewall machine that allows clients inside the firewall to access web sites outside the firewall The Oracle Web Listener implements th
169. mits a cookie to the client This procedure must occur in the context of an OWA procedure s HTTP header output Parameters name in varchar2 value in varchar2 expires in date DEFAULT NULL path in varchar2 DEFAULT NULL domain in varchar2 DEFAULT NULL secure in varchar2 DEFAULT NULL Generates Set Cookie lt name gt lt value gt expires lt expires gt path lt path gt domain lt domain gt secure Syntax owa_cookie get name Purpose This is a function that converts the string to a cookie Parameters name in varchar2 Generates A cookie Syntax owa_cookie get_all names vals num_vals Purpose This is a procedure that returns all cookie name value pairs from the client s browser that are associated with your domain Oracle WebServer 2 0 User s Guide owa_cookie remove Parameters names out vc_arr vals out vc_arr num_valsout integer Generates Arrays of the names and of the values in the order received and the count of the combinations Syntax owa_cookie remove name value path Purpose This is a procedure that forces a cookie to expire immediately This output of this procedure must be embedded in an HTML header Parameters name in varchar2 value in varchar2 path in varchar2 DEFAULT NULL Generates Set Cookie lt name gt lt value gt expires 01 JAN 1990 path lt path gt OWA_INIT This package provides constants that you override to set the time zone used by cookies Cookie
170. mitted data area This will require an explicit VALUE attribute Parameters cname in varchar2 cvalue in varchar2 cchecked in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt INPUT TYPE radio NAME cname VALUE cvalue CHECKED cattributes gt Syntax htp formReset cvalue cattributes Purpose Prints an HTML tag that creates a RESET button that when selected resets all the form fields to their initial values Parameters cvalue in varchar2 DEFAULT Reset cattributes in varchar2 DEFAULT NULL Generates lt INPUT TYPE reset VALUE cvalue cattributes gt Syntax htp formSubmit cname cvalue cattributes Oracle WebServer 2 0 User s Guide htp formText htp formSelectOpen Purpose Prints an HTML tag that creates a button that when selected submits the form If aSUBMIT button is selected to submit the Form and that button has a name attribute specified the submit button then contributes a name value pair to the submitted data Parameters cname in varchar2DEFAULT NULL cvalue in varchar2DEFAULT Submit cattributes in varchar2DEFAULT NULL Generates lt INPUT TYPE submit NAME cname VALUE cvalue cattributes gt Syntax htp formText cname csize cmaxlength cvalue cattributes Purpose Prints an HTML tag that creates a field for a single line of text Parameters cname in varchar2 csize in varchar2 DEFAULT NULL cmaxlength in varc
171. mplementation and extension of the standard Server Side Includes functionality defined by the NCSA The LiveHTML Interpreter enables you to include dynamic content in otherwise static Web pages At the point in Oracle WebServer 2 0 User s Guide your Web page where you want to interject dynamic content you place a tag that points to one of the following e A static Web page e Another LiveHTML Web page e A script that is executed on the server and outputs HTML This script may but need not conform to the CGI standard e A system variable for example FAODDATE You can use a variable to determine at runtime the Web page variable or script to which the tag points This enables you to have a Web page that selects dynamically from among any number of static Web pages or scripts based for example on values a user provides in an HTML form The result is a dynamic Web page built of static Web page components variables and HTML output from scripts A Web page that is to use Live HTML must be parsed by the WebServer For this reason it differs slightly from ordinary Web pages written in HTML which the WebServer simply delivers to the browser To have the LiveHTML tags executed on the server you must use the WebServer Manager to specify that a given Web Listener is to parse files for LiveHTML You have the option of having the Listener parse all files or just those with certain extensions Enabling users to execute scripts on the
172. n exception is found Oracle raises an unhandled exception error Note this does not automatically roll back undo changes made by the subprogram which might leave the database in an undesirable intermediate state This is the syntax of an exception handler WHEN exception_condition THEN statement_list The exception is the identifier for the raised condition If desired you can specify multiple exceptions for the same handler separated by the keyword OR The exception can be either one the package STANDARD provided or one you declared The statement list does what is appropriate to handle the error writing information about it to a file for example and arranges to exit the block gracefully if possible Although exceptions do not necessarily force program termination they do force the program to exit the current block You cannot override this with a GOTO statement You can use a GOTO within an exception handler but only if its destination is some enclosing block Note If you have an error prone statement and want execution to continue following this statement even when an exception occurs put the statement including the appropriate exception handlers in its own block so that the current block becomes the enclosing block Note If an exception occurs in the DECLARE section or the EXCEPTION section itself local exception handlers cannot address it execution passes automatically to the EXCEPTION section of the enclosing block
173. n of computers that successively receive and forward the information until it reaches its destination This process called routing is fundamental to all Internet communication and any computer in the routing chain has complete access to all the data it receives This makes it easy for the unscrupulous to intercept your private conversations steal your credit card numbers or illegally obtain confidential or proprietary information The Oracle WebServer s implementation of SSL addresses this problem by scrambling data sent from the server to clients web browser programs in such a way that the clients can unscramble the information when they receive it This way any intermediate computers involved in routing the information see only gibberish that they can t decipher This kind of security has three aspects e Encryption a mechanism for scrambling and unscrambling data Oracle WebServer Concepts 1 7 Encryption e Authentication a mechanism by which the one party proves its identity to another party e Data integrity a mechanism for verifying that all of the data transmitted and only the data transmitted is received correctly A traditional encryption system called a secret key system uses a single large number called a key both to scramble encrypt and unscramble decrypt messages Secret key encryption systems are very fast but they rely on one party communicating the secret key to another party often by way of a
174. n the server to dynamically generate Web pages e The PL SQL Agent e The Java Interpreter e The LiveHTML Interpreter The first two are languages that the WebServer can cause to be executed The last is an HTML technique for passing execution to another process at a certain point in the scanning of a Web page and embedding the output of that process in the calling page LiveHTML can also execute programs but its programs are written in some language such as Perl for Unix or Visual Basic for Windows NT that is executed by the OS itself rather than the WebServer Generally speaking you can combine these techniques For example the Java Interpreter can execute PL SQL in the database Oracle WebServer 2 0 User s Guide The PL SQL Agent and the Java Interpreter can use either of two interfaces WRB or CGI Which interface is used is determined by the mapping of the file the URL requests this mapping is part of the WebServer configuration How URLs Specify Applications Once the Listener has determined that a URL specifies that an application is to be executed on the server it interprets the URL to extract path information and arguments to be passed to the application on start up URLs that specify applications are split into three different parts e The virtual path e The extra path information e The query string The syntax is as follows virtual_path extra_path_information query_string Here are t
175. nctype cattributes gt Syntax htp formClose Purpose Prints an HTML tag that closes the lt FORM gt tag Parameters none Generates lt FORM gt The PL SQL Web Toolkit Reference 6 43 htp formCheckbox htp formHidden htp formImage 6 44 Syntax htp formCheckbox cname cvalue cchecked cattributes Purpose Prints an HTML tag that inserts a checkbox which the user can toggle off or on Parameters cname in varchar2 cvalue in varchar2 DEFAULT on cchecked in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt INPUT TYPE checkbox NAME cname VALUE cvalue CHECKED cattributes gt Syntax htp formHidden cname cvalue cattributes Purpose Prints an HTML tag that sends the content of a field along with a submitted form The field is not visible to the end user Parameters cname in varchar2 cvalue in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt INPUT TYPE hidden NAME cname VALUE cvalue cattributes gt Syntax htp formImage cname csrc calign cattributes Oracle WebServer 2 0 User s Guide htp formPassword Purpose Prints an HTML tag that creates an image field that can be clicked on causing the Form to be immediately submitted The coordinates of the selected point are measured in pixels and returned along with other contents of the form in two name value pairs The x coordinate is submitted under th
176. ner with Service specific control The Services included with the WebServer do not do this but the WRB API provides a callback routine that enables you to put this functionality in cartridges that you write This routine enables your cartridge to do any of the following e Prompt for a username and password using either a Basic or a Digest scheme The difference between Basic and Digest is that a Digest scheme encrypts the password for more information on these terms see the discussion of the Listener earlier in this section e Specify by name some restriction scheme to be applied to this request Such restriction schemes are defined in the Listener and limit access by IP address or Domain Name For more information on how WRB cartridges work and how to write your own refer to the WRB specification that accompanies the WebServer online documentation WRB Executable Engines 1 12 The Dispatcher creates and maintains the WRBXs The data passed to a WRBX when a request comes in consists of e The URL triggering the request This can include a file extension indicating the desired MIME type of the result Oracle WebServer 2 0 User s Guide e The desired language of the result e The desired character set of the result how the language is encoded for example ISO or Unicode e CGI environment variables which allow WRB cartridges to be run by applications written for CGI e Ifthe request involves the use of the PL SQL Age
177. nge variables B 10 records PL SQL datatype B 18 ref cursors PL SQL B 15 regular expessions 6 63 reload C 15 REQUEST_METHOD 4 6 4 7 restriction 1 6 RETURN statement PL SQL B 20 return values cursor PL SQL packages B 31 functions PL SQL B 20 row_list 6 76 S schemas B 7 scope of PL SQL objects and subprograms B 16 PL SQL packages and B 32 SCRIPT_NAME 4 4 4 6 Oracle WebServer 2 0 User s Guide security certifying authorities 1 9 DCD 4 5 digital signatures 1 9 encryption 1 7 file access 1 5 PL SQL Web Toolkit 6 4 proxy Internet connections 1 4 public key encryption 1 8 session keys 1 8 SSL 1 7 SELECT statement SQL B 6 server extensions 4 2 Server Side Includes same as LiveHTML 1 16 session keys 1 8 SGML comments 4 30 SHTML 4 30 sockets defined 1 4 SQL B 5 dynamic B 13 predicates B 6 standards B 5 Three Valued Logic TRUE FALSE NULL in B 6 SQLCODE B 25 SQLERRM B 25 SSL Overview of 1 7 STANDARD package PL SQL B 25 stored procedures B 28 string matching 6 63 structure tags 6 7 subprograms PL SQL B 14 declaring B 20 error handling and B 27 GOTO restrictions B 25 overloading B 32 parameters of B 17 resolving ambiguous references B 17 scope and visibility of B 16 subqueries SQL B 11 subtypes PL SQL B 16 using to create PL SQL records B 18 using to create PL SQL tables B 18 synonyms for database objects B 8 T Table attrib
178. nt no stored procedure matches this call with the arguments passed Cause The procedure and parameters passed to OWA don t match any existing stored procedures Oracle WebServer Messages 7 3 Action verify that there is a stored procedure not function with no RECORD parameters which matches the parameters passed If no value was passed for a parameter be sure that the stored procedure was declared to have a default value for that parameter Check for typographical errors OWS 05112 Agent too many procedures matches this call Cause The procedure and parameters passed to OWA match too many existing stored procedures Action This should only happen if there are overloaded stored procedures and that in two different versions of the procedure a given parameter is declared in one as a scalar and the other as a PL SQL table OWS 05150 Agent http server Error environment variable variable is NULL or non existent Cause The http server or other invoking application did not set the listed environment variable Action Contact your http server or other invoking application vendor OWS 05151 Agent Port number not in list of valid ports number list Cause The network port that the invoking http server is listening on is not a valid port for this OWA Service Action Add this port to the list of valid ports for this Service or access this service through a http server listening on a valid
179. nt which of the Database Connection Descriptors DCDs to use The Dispatcher continually adjusts the load by controlling how many WRBXs are running at a given time subject to certain parameters These parameters are set by the WebServer Administrator who sets the maximum and minimum number of WRBXs running for each WRB Service The Dispatcher creates new WRBxXs as needed and connects them to the appropriate WRB Services The Dispatcher also keeps track of which WRBXs are executing requests and which are free The WRBXs are single threaded processes that communicate with the WRB Dispatcher using the dataflow mechanism appropriate to the Operating System such as a pipe in Unix PL SQL Agent The PL SQL Agent can be invoked through either the WRB or CGI as determined by the directory and MIME type mappings set by the WebServer Administrator If it is through CGI the script name specified in the URL must be owa If it is through the WRB the directory and MIME type mappings are sufficient to specify the PL SQL Agent The PL SQL Agent executes application code written in PL SQL and returns the output in HTML form for the Web Listener to output as a Web page PL SQL procedures are stored in the database The PL SQL Agent invokes them by issuing commands to the database which then performs the actual execution and sends the output and status messages back to the PL SQL Agent Since PL SQL is actually executed in the database the PL S
180. nt can be viewed ona variety of browsers on most platforms and formatted to suit any reader Oracle WebServer 2 0 User s Guide How Are HTML Documents Created HTML documents can be created using any text editor emacs textedit or vi on UNIX machines DOS and Macintosh machines have a variety of simple text editors or HTML specific programs Choose the editor you are most comfortable with to write your HTML document For example HTML editors such as SoftQuad s HoTMetaL allow the creation of HTML documents graphically in what you see is what you get WYSIWYG mode In addition many traditional word processing packages have add ons or integrated HTML output capabilities To create dynamic pages that retrieve information from an Oracle7 Server you can generate HTML using the PL SQL utility packages provided by the Developer s Toolkit See Appendix B The PL SQL Developer s Toolkit for more information Getting Started Introduction To HTML All HTML tags begin with a lt left angle bracket and end with a gt right angle bracket There is usually a beginning tag and an ending tag An example is the title tag which surrounds the text that is designated as the document s title lt TITLE gt Al1 the Hockey Greats lt TITLE gt Tags are usually paired as follows lt TITLE gt and lt TITLE gt The ending tag looks like the beginning tag except that a forward slash precedes the text within th
181. o open an ordered list that presents listed items marked off with numbers Parameters cclear in varchar2 DEFAULT NULL cwrap in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt OL CLEAR cclear WRAP cwrap cattributes gt Syntax htp olistClose Purpose Prints an HTML tag that ends an ordered list Parameters none Generates lt OL gt Syntax htp dlistOpen cclear cattributes Purpose Prints an HTML tag that starts a definition list Parameters cclear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt DL CLEAR cclear cattributes gt Oracle WebServer 2 0 User s Guide htp dlistClose htp dlistDef htp dlistTerm Syntax htp dlistClose Purpose Prints an HTML tag that Ends a definition list Parameters none Generates lt DL gt Syntax htp dlistDef ctext cclear cattributes Purpose Prints an HTML tag that is used to insert terms and their corresponding definitions in an indented list format The htp dlistTerm must immediately follow this tag Parameters ctext in varchar2 DEFAULT NULL clear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt DD CLEAR cclear cattributes gt ctext Syntax htp dlistTerm ctext cclear cattributes Purpose Prints an HTML tag used to insert the definition term inside the definition list This tag must immediately follow the htp dlistDef The PL S
182. of a database NULL with any value c A statement is PL SQL that does nothing but functions as a placeholder Oracle7 Server The leading database product in the world A program for sophisticated high level management of information See also Database and Server ORACLE_HOME Environment Variable that indicates the root of the Oracle7 Server code Oracle WebServer 2 0 User s Guide Glossary tree Oracle Web Agent OWA A term from an earlier release of this product OWA is now the PL SQL Agent For the sake of compatibility the string owa is still used in URLs to specify that execution is to go to the PL SQL Agent Overloading Overloaded procedures and functions in PL SQL or methods in Java have the same name but take different parameters PL SQL or are contained in different classes Java and do similar but not identical things Package A group of PL SQL functions and procedures Parsable File A file located on the WebServer that contains codes that the server interprets prior to transmission of the file as a Web page This is part of the LiveHTML functionality See also LiveHTML PL SQL Oracle s proprietary extension to the SQL language PL SQL adds procedural and other constructs to SOL that make it suitable for writing applications PL SQL Agent A server extension that interfaces to the Oracle7 Server using PL SQL and dynamically derives and outputs HTML The PL SQL Agent can be invoked eith
183. of it ISMAP tells the server that this image is a bitmap and allows the user to click ona location on the image to cause a URL to be accessed directly Image maps are an advanced HTML feature and require server side configuration to function For example the following line will cause the file logo gif to be fetched from server www oracle comand the text Oracle Logo to be displayed if the user has graphic display turned off lt IMG SRC http www oracle com logo gif ALT Oracle Logo gt Linking to Sections on Pages C 14 You can link to a different area or section of your document by using a hidden reference marker to that specific section This provides a quick way to move through sections of the document without having to scroll up or down Once you click on that link the hidden reference places you in the section and the browser presents the hidden marker line as the first line on the screen To create a link follow these steps 1 Create a named anchor marker in each section title that you might want to jump to The HTML syntax is as follows lt A NAME named_anchor gt Text_to_link_to lt A gt 2 Inthe following example a hidden reference marker is placed in a head2 Oracle WebServer 2 0 User s Guide level lt H2 gt lt A NAME intro gt Introduction to Hockey lt A gt lt H2 gt 3 Create the link by entering lt A HREF named_anchor gt Text lt A gt 4 For example the link might appear as
184. ollowing to the client The PL SQL Web Toolkit Reference 6 61 7782 CLARK 2450 7839 KING 5000 7934 MILLER 1300 lt PRE gt For browsers that do support HTML tables to view the department table in an HTML table create the following procedure create or replace procedure showdept is ignore_more boolean begin ignore_more owa_util tablePrint dept BORDER end A request for a URL like http myhost 8080 ows bin hr owa showdept would return the following to the client lt TABLE BORDER gt lt TR gt lt TH gt DEPTNO lt TH gt lt TH gt DNAME lt TH gt lt TH gt LOC lt TH gt lt TR gt lt TR gt lt TD ALIGN LEFT gt 10 lt TD gt lt TD ALIGN LEFT gt ACCOUNTING lt TD gt lt TD ALIGN LEFT gt NEW YORK lt TD gt lt TR gt lt TR gt lt TD ALIGN LEFT gt 20 lt TD gt lt TD ALIGN LEFT gt RESEARCH lt TD gt lt TD ALIGN LEFT gt DALLAS lt TD gt lt TR gt lt TR gt lt TD ALIGN LEFT gt 30 lt TD gt lt TD ALIGN LEFT gt SALES lt TD gt lt TD ALIGN LEFT gt CHICAGO lt TD gt lt TR gt lt TR gt lt TD ALIGN LEFT gt 40 lt TD gt lt TD ALIGN LEFT gt OPERATIONS lt TD gt lt TD ALIGN LEFT gt BOSTON lt TD gt lt TR gt lt TABLE gt which a Web browser can format to look like this DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CH
185. ollowing two parts e The package specification is the public interface to the package It declares all objects and subprograms that are to be accessible from outside the package Packages do not take parameters so these constitute the entire public interface e The package body is the internal portion of the package It contains all objects and subprograms that are to be local to the package It also contains Overview of the Oracle7 Server SQL and PL SQL B 29 definitions of the public cursors and subprograms The package specification declares but does not define these One of the advantages of using packages is that the package specification is independent of the body You can change the body and so long as it still matches the specification no changes to other code are needed nor will any other references become invalid Packages cannot be nested but they can call one another s public subprograms and reference one another s public objects Instantiation of Packages Creating Packages B 30 It is important to realize that a package is instantiated once for a given user session That is to say the values of all variables and constants as well as the contents and state of all cursors in a package once set persist for the duration of the session even if you exit the package When you reenter the package these objects retain the values and state they had before unless they are explicitly reinitialized Of course anot
186. ome before any htp print or htp prn calls in order to signal the PL SQL Agent to do the redirect If bcloseheader is TRUE two newlines are sent which closes the HTTP header Otherwise one newline is sent and the HTTP header is still open Oracle WebServer 2 0 User s Guide owa_util status_line Parameters curl in varchar2 bclose_header in boolean DEFAULT TRUE Generates Location lt curl gt n n Syntax owa_util status_line nstatus creason bclose_header Purpose Enables programmer to send a standard HTTP status code to the client This must come before any htp print or htp prn calls so that the status code is returned as part of the header rather than as content data If bcloseheader is TRUE two newlines are sent which closes the HTTP header Otherwise one newline is sent and the HTTP header is still open Parameters nstatus in integer creason in varchar2 DEFAULT NULL bclose_header in boolean DEFAULT TRUE Generates Status lt nstatus gt lt creason gt n n owa_util http_header_close Syntax owa_util http_header_close Purpose Outputs a newline to close the HTTP header Use this procedure if you have not explicitly closed the header before by specifying or defaulting bclose_header in a previous header component The header must be closed before any htp print or htp prn calls Parameters none The PL SQL Web Toolkit Reference 6 59 Generates A newline which terminates the header
187. ontain the default initial file Directory listings can sometimes help clients learn the correct spelling of filenames they want to request Directory Mapping The practice of defining a virtual file system Dispatcher See WRB Dispatcher DNS Resolution The practice of determining a computer s DNS Domain Name Service host name from its IP address Document Root The file system directory that serves as the root of the Web Listener s virtual file system Domain See Domain Name Service DNS Domain based Restriction A restriction scheme that allows only machines within specified DNS domains to access certain files See also Restriction Domain Name Service DNS The mechanism that divides the Internet into separate hierarchical groups called domains identified by unique alphanumeric names such as us oracle com DNS identifies each computer within a domain by a unique host name For example a computer named na1 in the us oracle com domain would be uniquely identified on the Internet as hal us oracle com Oracle WebServer 2 0 User s Guide Glossary Encoding An algorithm used to alter a file s format such as compression You can use the WebServer manager to define the encodings that each Web Listener process recognizes Encryption The practice of scrambling encrypting data in such a way that only an intended recipient can unscramble decrypt and read the data See also Public Key Encryption and Secr
188. ore information on enabling triggers see ALTER TRIGGER in the Oracle7 Server SQL Reference For more information on triggers generally see Using Database Triggers in the Oracle7 Server Application Developer s Guide and CREATE TRIGGER and DROP TRIGGER in the Oracle7 Server SQL Reference B 36 Oracle WebServer 2 0 User s Guide APPENDIX eee Introduction To HTML This appendix discusses the basic concepts of HyperText Markup Language or HTML This appendix is an introduction to HTML and provides important information on how to set up format and define HTML documents This appendix covers the following topics e What is HTML e Getting Started e Document Structure e Body Tags e List Tags e Hypertext Linking e Reviewing Changes to Your HTML Document e Adding Style to Your HTML Document e Special HTML Tags e Tables e Forms e Creating Your Own HTML Document e More Information about HTML Note This appendix contains examples of formatted elements such as underlined text Some of these examples may not appear correctly on all on line viewing systems What is HTML C 2 Hypertext Markup Language HTML is the standard language used for creating hypermedia documents on the Web HTML documents can be viewed by many different Web browsers of varying abilities in a simple portable way When a document is coded in HTML a browser can interpret the HTML to identify the elements of th
189. ore information on the PL SQL Web Toolkit see The PL SQL Web Toolkit Reference Oracle WebServer 2 0 User s Guide Java Java is an object oriented language for creating distributed applications on the Internet or other networks Modules of Java code known as applets can be downloaded from the Internet or a local network in real time and locally executed Java applets themselves can call and execute other applets so that a Java application as executed on the user s machine can be constructed on the fly from a repertoire of standard parts that reside on the net You might call this the building block approach to programming Among the important features of Java are the following It is extremely portable Java code is compiled to a form known as bytecode This is a sort of generalized computer code that is not executable by any particular machine but is recognized by the Java Virtual Machine Itis as bytecode that Java applets transverse the net The Java Virtual Machine VM resides on the computer where the applet is to be executed and converts the bytecode to the native code for that machine Currently Java VMs exist or are planned for all current versions of Windows Solaris MacOS OS 2 Linux Amiga and other platforms It is fully object oriented Languages like C that add object oriented features to non object oriented languages must make compromises Java applets do not allow violation of object
190. original files OWS 05721 The Web Listener listener name failed to start Action See the associated error message OWS 05722 The Web Listener listener name failed to reload Action See the associated error message OWS 05723 The Web Listener listener name was not stopped Action See the associated error message OWS 05725 WRB Configuration file not copied from pathname to pathname2 Cause Copying of file failed due to system error Action Make sure wladmin utility has permission to read write OWS 05726 Listener Name listener name must be an alpha numeric string Action Only alphanumneric strings are accepted for listener name OWS 05727 Listener Name listener name too long Cause The specified Listener name is greater than six characters Action Use a shorter name Oracle WebServer Messages 7 9 5800 5899 Oracle Web Request Broker Administration messages OWS 05801 The input from the form in the HTML file filename has incorrect format Cause Form has unexpected input field value Action Make sure only the OWS HTML templates are used to make submissions to the Web Server Manager utilities OWS 05802 The input parameter parameter must not be empty Cause Required field not filled in submitted form Action Fill in all required fields OWS 05804 The WebServer Manager found no record of the listener listener name Cause Non existent
191. ou have created The following is an example of an HTML document that you can type word for word or modify as you wish lt HTML gt lt HEAD gt lt TITLE gt Chicago Blackhawks A Love Story lt TITLE gt lt HEAD gt lt BODY gt Chicago Blackhawks A Love Story lt P gt This is a story about my beloved Blackhawks Year after painful year hey amass teams that could potentially win a Stanley Cup But year after nsidiously painful year they manage to lose in the first or second round f the playoffs If you have any suggestions as to how to reconcile this vil many fans would be grateful Still we live on to love the Blackhawks H2 gt Some Players We Have Loved lt H2 gt q H v LI gt lt A HREF Hull html gt Bobby Hull lt A gt LI gt lt A HREF Makita html gt Stan Makita lt A gt LI gt lt A HREF Espo html gt Tony Esposito lt A gt LI gt lt A HREF Jr html gt Jeremy Roenick lt A gt UL gt H2 gt Some Players We Love to Hate lt H2 gt O v LI gt lt A HREF Clark html gt Wendall Clark lt A gt LI gt lt A HREF Gilmour html gt Doug Gilmour lt A gt LI gt lt A HREF Domi html gt Tie Domi lt A gt LI gt lt A HREF cheapshot html gt U1f Samuellson lt A gt OL gt H2 gt List of Love Letters to Our Team lt H2 gt q H v LI gt lt A HREF http www love2hawks com gt Love Letters lt A gt LI gt lt A HREF http www fromNHL com gt Letters from NHL lt A gt UL gt lt H
192. ourier Parameters ctext in varchar2 cattributesi n varchar2 DEFAULT NULL Generates lt TT cattributes gt ctext lt TT gt Form Tags The form tags are used to create and manipulate an HTML form Forms are used to allow interactive data exchange between a Web Browser and a CGI program Forms can have the following types of elements e Input used for a large variety of types of input fields for example single line text single line password fields checkboxes radio buttons submit buttons e Text area used to create a multi line input field 6 42 Oracle WebServer 2 0 User s Guide htp formOpen htp formClose e Select used to allow the user to chose one or more of a set of alternatives described by textual labels Usually rendered as a pulldown pop up or a fixed size list Note All the hypertext procedures HTP shown in this section are also available as hypertext functions HTF Syntax htp formOpen curl cmethod ctarget cenctype cattributes Purpose Prints an HTML tag that starts the form The curl value is required and is the URL of the CGI script normally owa to which the contents of the Form will be sent The method is either GET or POST Parameters curl in varchar2 cmethod in varchar2DEFAULT POST ctarget in varchar2 cenctype in varchar2DEFAULT NULL cattributes in varchar2DEFAULT NULL Generates lt FORM ACTION curl METHOD cmethod TARGET ctarget ENCTYPE ce
193. packages password The password for the Oracle user identified by username connect string The string that identifies the local or remote database where the packages Oracle WebServer 2 0 User s Guide are located For local databases this is the Oracle SID as described in the Oracle7 Server Administrator s Guide For remote databases this is the SQL Net Connect String as described in Understanding SQL Net package name A list of all the packages that your application references in the schema identified by username To wrap standalone procedures and functions you must omit this component and must use the class flag to name the class wrapper that will be created You should not include the containing schemas in the package names It is good practice to keep all the packages procedures and functions you want to use in one schema flags All of the flags that pl2java uses are optional except under certain conditions class Here are the descriptions of the flags help Provides help information d lt dir gt Sets the directory where the wrapper classes will be stored The default is the current directory package lt packagename gt Sets the Java package to which the wrapper classes belong class lt class gt Sets the Java class to which the wrappers will belong If the p 2java utility is run against packages this flag is optional Java classes based on packages inherit by default the names of the packages they enc
194. port OWS 05200 Agent service service name not found in configuration file Cause The piece of the URL just before the Web Agent executable name did not correspond to a Web Agent Service in the OWA configuration file Action Correct the URL or create the desired service OWS 05201 Agent service parameter parameter not found for service service name 7 4 Cause A parameter required by the Oracle Web Agent was not found in the configuration file along with the specified service Action Modify the Web Agent service configuration using the Web Agent administration form Oracle WebServer 2 0 User s Guide 5500 5599 Oracle Web Agent Administration errors and messages OWS 05504 Service service name successfully written Verify the PL SQL output in filename Cause The Web Agent Administration program successfully wrote the specified service and performed all actions requested The program however cannot detect errors which may have occurred while installing the PL SQL Action Check the output in the file specified and verify that there are not unexpected error messages OWS 05521 Service service name submission failed because the passwords submitted do not match Cause The password and the confirm password field do not match Action Retype both passwords and re submit the form OWS 05522 Service service name submission failed because password identification was sele
195. ption e There are a few aspects of the preceding code worth pointing out 1 You must create an instance of Employee package before you can invoke the procedures and functions in it When initiating the package you need to specify the database session where the instance of the package is to be created Before you invoke a PL SQL procedure or function you have to create Java instance variables for the PL SQL values that are to be used as parameters like pDeptName in the above example PL SQL tables map to Java arrays Remember to allocate the array as well as the individual elements in the array When you access a PL SQL value remember that the value may be NULL unless database constraints prevent this If the value is NULL and you try to retrieve it using the value methods such as doubleValue of PDouble it throws a NullValueException runtime condition It is better to ensure the value is not NULL before retrieving the value or to try the NullValueException All classes that encapsulate PL SQL values have toString methods and therefore can be concatenated For an example of this see the report header generation section above You should try to logoff from the database explicitly when the session is no longer needed When a session is no longer needed the session is disconnected when Java performs garbage collection Java does not however guarantee that any garbage objects will be collected immediately when they b
196. r of owa_util If this is a security issue for your installation install the owa_util package separately for each OWA database user The scripts to do this are PUBUTIL SOL PRIVUTIL SQL Oracle WebServer 2 0 User s Guide Both scripts reside in the OWS Administration directory and should be run in the order listed Procedure and Function Reference This section describes each procedure and function in the htp htf and owa_util packages Please note that for every htp procedure that generates HTML tags a corresponding htf function exists with identical parameters Note that defaulted parameters do not need to be passed The description of each procedure or function is broken down into the following parts Note that items for which no generates entry is shown are available only as procedures Parameters Passed into Procedures and Functions All parameters passed into a hypertext procedure or function are of data type varchar2 varying length character string integer or date The data type is indicated by the first letter of the parameter s name c for character varchar2 n for number integer and d for date For example cname in varchar2 The c in cname indicates a character data type varchar2 nsize in integer The n in nsize indicates a number data type integer dbuf in date The d in dbuf indicates a date data type date As in BNF notation a vertical bar in t
197. racle PL SQL Agent handles e Application Errors These are the responsibility of the application developer e System Errors These are usually the responsibility of the WebServer administrator although they also occur when application errors are not handled Application errors are specific to the PL SQL application All PL SQL procedures you write should have their own exception handling see Handling Exceptions that produces the appropriate output in HTML form Because the PL SQL Agent does not read the HTML output to determine its content and properly handled exceptions themselves generate HTML error messages handled exceptions are transparent As far as the PL SQL Agent is Developing Applications for the Oracle WebServer 4 13 System Errors 4 14 concerned if the PL SQL code generates HTML output the operation was successful The user will see whatever handled exception message is generated by the PL SQL procedure System errors are detected by the Oracle PL SQL Agent itself These are errors that occur when the PL SQL Agent is unable to launch the PL SQL procedure or whena PL SQL exception is not handled by the stored procedure causing the exception to be propagated back to the PL SQL Agent as a system error This causes a standard HTML error document to be returned to the browser For example if the Oracle PL SQL Agent cannot make a connection to the Oracle7 Server the PL SQL procedure cannot run and a system error o
198. rams or the query in the case of cursors that is to be executed For subprograms the parameter list must match that given in the package specification word for word except for differences in white space This means for example that you cannot specify a datatype directly in the specification and use the TYPE attribute to specify it in the body You can create an initialization section at the end of the package body This is a body of executable code chiefly assignments enclosed with the keywords BEGIN and END Use this to initialize constants and variables that are global to the package since otherwise they could be initialized only within subprograms and you have no control of the order in which subprograms are called by outside applications This initialization is performed only once per session For more information see CREATE PACKAGE BODY in the Oracle7 Server SQL Reference Packages in the PL SQL User s Guide and Reference and Using Procedures and Packages in the Oracle7 Server Application Developers Guide Overloading Subprograms B 32 Within a package subprogram names need not be unique even at the same level of scope There can be multiple like named subprograms in the same declare section provided that the parameters that they take differ in number order or datatype and that when the procedures are called the values passed by the calling procedure the actual parameters match or can be automatically
199. rea of the machine s file system that can be accessed only by the root user This is where you will store your private key and your certificate when you receive it e Seta secure root password on the machine using at least six characters and mixing numbers legal punctuation marks and mixed case letters Try not to use a character string that is a proper name or a word in any language Change passwords frequently and never write a password on paper e Strictly limit the programs that are installed and allowed to run on the machine e Limit TCP IP connections to the machine to port 443 the default port for secure connections Disable all other ports To learn how to implement these suggestions on your WebServer machine see your machine s operating system reference manual Installing Your Certificate When you receive your certificate from VeriSign you must use the Oracle Web Server Manager to install it 1 Use your email reader to save the message from the CA containing the certificate to a file with a der extension such as cert der 2 Usea text editor to remove the header information before the BEGIN CERTIFICATE line and the footer information after the END CERTIFICATE line Do not delete the BEGIN CERTIFICATE and END CERTIFICATE lines themselves 3 Using your web browser go to the Oracle WebServer Administration page 4 Follow the link to the Oracle Web Listener Administration Form 5 Select a Web Listener process
200. ream mline continue Purpose Adds more content to a multi_line The continue parameter specifies whether to begin appending within the previous final chunk assuming it is less than 32K or to start a new chunk Parameters stream in varchar2 mline out multi_line continue in boolean DEFAULT TRUE Generates multi_line Oracle WebServer 2 0 User s Guide owa_text new_row_list Syntax owa_text new_row_list rlist Purpose Can bea procedure or a function If a function it takes no parameters and outputs anew initially empty row_list If a procedure it places into the rlist parameter anew initially empty row_list Parameters rlist in row_list Generates Actual output generated by htp print owa_text print_multi Syntax owa_text print_multi mline Purpose Uses htp print to print the multi_line Parameters mline in multi_line Generates Actual output generated by htp print owa_text print_row_list Syntax owa_text print_row_list rlist Purpose Uses htp print to print the row_list Parameters rlist in row_list The PL SQL Web Toolkit Reference 6 77 Generates Actual output generated by htp print OWA_IMAGE Datatypes Package Variables OWA_IMAGE is a package providing simple functions that are for handling image maps point This provides the x and y coordinates of a user s click on an image map null_point This is a variable used to default point parameters X and Y both ar
201. recommended that you use POST whenever possible GET is the method used for links and non form URLs For HTML forms one has a choice Because the GET method uses operating system environment variables there are limits on the length of the QUERY_STRING Passing Parameters Using an HTML Form The following example is analogous to the one in the previous section except that it uses an HTML form that employs the POST REQUEST_METHOD lt FORM METHOD POST ACTION http www nhl com 8080 ows bin nhl owa hockey_pass gt Please type the name of the person you wish to search for lt INPUT TYPE text NAME person gt lt P gt To submit the query press this button lt INPUT TYPE Submit VALUE Submit Query gt lt P gt lt FORM gt The above form does the same thing as the previous example except that instead of populating the QUERY_STRING environment variable with person Gretzky the Web Listener writes person Gretzky to standard input Note that the name of the HTML input variable in this case person has to be the same as the PL SQL parameter it is to match The PL SQL procedure that is the recipient of the above parameters follows create or replace procedure hockey_pass person in varchar2 is n_assists integer begin select num_assists into n_assists from hockey_stats where name person htp print person has to_char n_assists assists this season end Providing Default Parameter Value
202. red Item 2 Add the list object to the body assuming it already exists bd addItem orderedlist The following Java code encapsulates a group of HTML tags as a single component that can be used repeatedly in a page Create a new CompoundItem object CompoundItem compoundItem new CompoundItem Set the default text attribute of all items in Compound Item Note that this operation cannot be done with a lt b gt Container lt b gt compoundItem setItal Add a SimpleItem and a TextArea to the CompoundItem compoundiItem addItem new Simpleitem How are you setBold addItem new TextArea response 30 10 Add the CompoundItem to the body object assuming it s been created bd addItem compoundItem The following Java code specifies an applet of Java bytecode to be included in the Web page output for execution on the client s browser Create a new Applet object with the following attributes Applet file name NervousText class Width of Applet Window 400 Height of Applet Window 75 Parameter Name text Value This is an applet test Applet applet new Applet NervousText class 400 75 Developing Applications for the Oracle WebServer 4 29 applet addParam text This is an applet test The LiveHTML Interpreter Files that the WebServer is to parse for LiveHTML are internally of the following MIME type text x server parsed html
203. result in excessively wide cells COLSPAN The COLSPAN attribute can appear in any table cell and specifies how many columns of the table a specified cell should span The default COLSPAN for any cell is 1 ROWSPAN The ROWSPAN attribute can appear in any table cell and specifies how many rows of the table this cell should span The default ROWSPAN for any cell is 1 A span that extends into rows that were not specified with a lt TR gt tag will be truncated COLSPEC The COLSPEC attribute can be used when needed to exert control over column widths either by setting explicit widths or by specifying relative widths Specify the table width explicitly or as a fraction of the current margins The following is a table using some of the table tags and attributes we have previously discussed lt TABLE BORDER gt lt CAPTION ALIGN bottom gt Table 1 lt CAPTION gt lt TR gt lt TD ROWSPAN 2 gt lt TD gt lt TH COLSPAN 2 gt Average lt TH gt lt TR gt lt TR gt lt TH gt Height lt TH gt lt TH gt Weight lt TH gt lt TR gt lt TR gt lt TD gt Males lt TD gt lt TD ALIGN center gt 69 lt TD gt lt TD ALIGN center gt 150 lt TD gt lt TR gt lt TR gt lt TD gt Females lt TD gt lt TD ALIGN center gt 64 lt TD gt lt TD ALIGN center gt 130 lt TD gt lt TR gt lt TABLE gt The table will look like this Average Height Weight Males 69 150 Females 64 130 Average Height Weight Males 69
204. rity CA A trusted third party company that provides certificates to legitimate organizations that request them CGI See Common Gateway Interface CGI Character Set A set of characters used to write a human language or group of languages as defined by RFC 1521 Client A process such as a Web browser that interfaces to one or more users sends requests to a server and presents the results of those requests to the users See also Server Common Gateway Interface CGI The industry standard technique for running applications on a web server Oracle WebServer supports this standard but also offers the Web Request Broker as a superior alternative Oracle WebServer 2 0 User s Guide Glossary Common Logfile Format An industry standard format for transaction log files The Web Listener uses this format to log transactions Configuration Directory A directory in which a Web Listener process stores its configuration file Cookie Information inserted by the server into the client s browser to track what the client has been doing This can either expire when the user exits the browser or expire at the date the creator of the cookie specifies Database A structured collection of information and the program that manages such The Oracle7 Server is a relational database which is the prevalent type Database Connection Descriptor DCD A file that specifies information such as how the PL SQL Agent is to connect to
205. ror occurred in the Hockey_Pass file gt timefmt This specifies a date format LiveHTML files frequently include timestamps The conventions follow the strftime library call supported in most versions of Unix even if the WebServer is not running on a Unix platform Oracle WebServer 2 0 User s Guide sizefmt This specifies the format used when displaying a file size The possibilities are bytes which gives the absolute size in bytes and abbrev which gives the size in kilobytes or megabytes as appropriate cmdecho This specifies whether non CGI scripts subsequently executed have their output incorporated into this HTML page The possible values are ON and OFF ON specifies that the output is included The default is OFF cmdprefix Specifies a string that will be prepended to each line of the script output cmdpostfix Specifies a string that will be appended to each line of the script output e include This command specifies that a file is to be included in the generated HTML page at this point The file can any of the following another LiveHTML file like the current one aregular HTML file an ASCII file which of these it is determined as usual by the extension The possible tags are virtual This gives a virtual path to the file The directory mappings for virtual paths are set by the WebServer administrator using WebServer Manager file This gives a pathname relative to the current directory
206. s 4 8 If you cannot guarantee that a value will be passed from a Web Browser for a particular PL SQL procedure parameter then you should give the parameter a default value For example create or replace procedure showvals a in varchar2 DEFAULT NULL b in varchar2 DEFAULT NULL is begin htp print a htp print b end Suppose the PL SQL Agent receives a request to call procedure showvals with no value for a and the value of Hello for b and there was no DEFAULT Oracle WebServer 2 0 User s Guide NULL clause in the procedure s definition Then the request would generate an error with the following message OWS 05111 Agent no procedure matches this call OWA SERVICE test_service PROCEDURE showvals PARAMETERS SSSSSSSSSSS B Hello By defaulting the parameters the above request would properly output a lt BR gt b Hello lt BR gt which to the end user would look like a b Hello Multivalued Parameters Generally you need not be concerned with the order in which the Oracle PL SQL Agent receives parameters from a URL The only case where it might be relevant is when passing multiple values for the same form field In this case all the values for that form field should be together and if the order of the values in that field is significant that order must be preserved in the URL There are a number of instances where you can have such multiple values for the same HTML variable The HTML
207. s Oracle WebServer enables you to execute Java either on the WebServer itself or on the client s browser e LiveHTML A way to embed dynamic content in Web pages This content can be either other Web pages or the output of scripts run by the Operating System LiveHTML is an Oracle extension of the NCSA standard Server Side Includes functionality Overview 1 2 The Oracle WebServer is a HyperText Transfer Protocol HTTP Internet Server with unprecedented database integration and a powerful development environment When the WebServer receives a Uniform Resource Locator URL from a browser located either on the World Wide Web or on a local network using the Web s protocol HTTP it draws on information from the database and the operating system s OS file system as necessary to respond to the request The file system can be used for static hardcoded Web pages or for CGI scripts that do not access the database and the database is used for Web pages that are generated at runtime using live data Although you can run the Oracle WebServer without Oracle7 one of the great advantages of the product is its tight integration with the Oracle7 Server the leading database product in the world The Web Listener is the component that receives a URL from a Web browser and sends back the appropriate output When the Web Listener receives a URL it determines whether the request requires the use of a Service to be accessed through
208. s B 32 parameter passing 4 4 4 7 procedures overloading 4 12 scope of objects and subprograms B 16 sections of B 14 subprograms B 14 user defined datatypes in B 16 PL SQL Agent 4 4 connect to database 4 16 datatype limitations 4 12 environment variables 4 6 error handling 4 13 Java circumvents 4 15 LiveHTML can call 1 17 multiple DCDs 6 3 PL SQL Agents 1 13 Index 6 PL SQL packages bodies B 31 Java wrappers for 4 16 PL SQL tables datatype limitations 4 12 PL SQL Web Toolkit 6 1 datatypes used 6 5 installation 6 3 installing 6 3 ownership of 6 3 procedures and functions 6 1 security considerations 6 4 pl2java 4 16 ports 1 3 specifying in URLs 4 3 POST 4 6 4 7 pragmas PL SQL B 26 predicates B 6 in IF statements PL SQL B 22 primary keys enforcing B 7 print tags 6 6 private synonyms B 8 privileges object B 5 required to create triggers B 35 stored procedures require B 28 stored procedures use B 28 system B 5 PRIVUTIL SQL 6 4 procedures declaring B 20 getting started 6 5 grouped into packages B 29 storing in database B 28 proxy servers 1 4 public key encryption 1 8 public synonyms B 8 PUBUTIL SQL 6 4 Index 7 Q queries SQL B 6 multiple tables used in B 9 stored in cursors PL SQL B 19 within other queries subqueries B 11 query strings 4 3 QUERY_FORM 4 9 QUERY_STRING 4 6 QUERY_STRING_UNESCAPED 4 31 R RAISE statement PL SQL B 27 ra
209. s Use in conjunction with the SIZE and MAXLENGTH attributes Use the TEXTAREA tag for text fields that can accept multiple lines e WVALUE Assigns an initial default value for the field or the value when checked for checkboxes and radio buttons This attribute is required for radio buttons Form Selection Menus SELECT C 24 There are three types of selection menu tag for forms e Select user selects from a fixed set of values represented by the option tag This tag is usually displayed with a pull down menu e Select single same as Select but display is presented with a window with three items displayed at once If there are more than three options the window will have a scroll bar e Select multiple allows multiple items to be selected from the menu The SELECT tag allows the user to select a value from a fixed list This is usually presented as a pull down menu The SELECT tag has one or more options between the start lt SELECT gt and end lt SELECT gt tag By default the first option is displayed in the menu The following is an example of a lt SELECT gt tag lt FORM gt lt SELECT NAME group gt lt OPTION gt Gretzky lt OPTION gt Messier lt OPTION gt Coffey lt SELECT gt lt FORM gt Oracle WebServer 2 0 User s Guide SELECT SINGLE SELECT MULTIPLE The SELECT SINGLE tag is the same as the SELECT tag but options are displayed in a window with three items shown at once If there are more than
210. s access control 1 5 caching 1 5 compression of 1 6 filename extesions 1 6 language of 1 6 MIME types 1 6 firewalls 1 4 flow control PL SQL B 21 FOR loops PL SQL B 24 FOR UPDATE clause PL SQL B 19 forced line breaks C 6 foreign keys joins using B 9 Form tags C 22 Input C 22 TextArea C 22 form tags 6 42 Forms C 20 selection menus C 24 syntax C 21 forms multivalued parameters 4 9 parameter passing through 4 8 frame tags HTML frame tags 6 29 FTP C 12 functions B 20 grouped into packages B 29 return values of PL SQL B 20 storing in database B 28 Oracle WebServer 2 0 User s Guide G GET 4 6 4 7 GOTO statement PL SQL B 24 error handling and B 27 graphics 6 78 image maps 1 16 within HTML documents C 13 H host names 1 4 HTML basic concepts C 2 case sensitivity C 3 comments in 4 30 dynamically generating 4 4 extending 6 63 form tags 6 42 introduction C 1 Java generates dynamic 4 25 list tags 6 31 print tags 6 6 structure tags 6 7 table tags 6 51 HTML Tags ADDRESS C 16 BLOCKQUOTE C 7 BODY C 5 BOLD C 15 CAPTION C 18 definition list C 10 escape sequence C 17 getting started C 3 HEAD C 4 heading level C 5 I C 15 lists C 8 mono spaced C 15 nested list C 9 ordered list C 8 P C 5 PRE C 5 TABLE C 18 TD C 18 TH C 18 TITLE C 4 TR C 18 U C 15 unordered list C 9 HTTP C 11 HyperText Markup Language C 1 Hyper
211. s Table Each row of this table describes one person and each column has one type of information about that person Note the column cnum This is simply a number we generate to distinguish the customers from one another as names are not necessarily unique You refer to data in a relational database by its content not by such things as where it is stored Therefore every table must have an identifying group of one or more columns whose values taken as a set are always different for every row of the table This group in this case the single column cnum is called the primary key of the table Locally generated numbers as in this example are a common and easy way to create primary keys Suppose you wanted to add our customers phone numbers to your database Since one person can have multiple phone numbers these do not fit into your structure well If you want to include the phone numbers in the Customers table there are three possibilities none of them good 1 You could fit all the phone numbers for a given person into a single column in a single row in which case it would be difficult to access the phone numbers independently 2 You could create a column for each type of phone number in which case you would have to redesign your table each time a new type arose This also could create an unwieldy number of mostly empty columns 3 You could enter a new row for each phone number in which case each such row would consist of redund
212. s are e Getting Parameters from the Web Browser to the PL SQL Agent e Passing Parameters Using an HTML Form e Providing Default Parameter Values e Multivalued Parameters e Overloading Procedures Getting Parameters from the Web Browser to the PL SQL Agent Depending on the REQUEST_METHOD used parameters are passed from the Web Browser to the Web Listener to the PL SQL Agent in one of two ways e Through the QUERY_STRING environment variable If the GET method is used by the Web browser the Web Listener passes the parameters to the PL SQL Agent in this environment variable e Through standard input If the POST method is used the Web Listener passes the parameters to the PL SQL Agent using standard input It is transparent to the PL SQL procedure that is the actual consumer of these parameter s which method is used to pass the parameters from the Web Listener to the PL SQL Agent and which protocol the WRB or CGI is used This is an important feature of the Oracle PL SQL Agent the PL SQL programmer need not be aware of whether GET or POST is used and need not be concerned with parsing either the QUERY_STRING environment variable or standard input Thus the PL SQL programmer can concentrate on what he or she knows Developing Applications for the Oracle WebServer 4 7 best developing the logic to extract data from the Oracle database based on pre parsed parameters passed by the Oracle PL SQL Agent It is
213. s that specify the text they surround be rendered with fixed width type Parameters ctext in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt PLAINTEXT cattributes gt ctext lt PLAINTEXT gt Syntax htp s ctext cattributes Oracle WebServer 2 0 User s Guide Purpose Prints a pair of HTML tags that specify the text they surround be rendered in strikethrough type Parameters ctext in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt S cattributes gt ctext lt S gt htp strike Syntax htp strike ctext cattributes Purpose Prints a pair of HTML tags that specify the text they surround be rendered in strikethrough type Parameters ctext in varchar2 cattributesi n varchar2 DEFAULT NULL Generates lt STRIKE cattributes gt ctext lt STRIKE gt Frame Tags htp framesetOpen Syntax htp framesetOpen crows ccols cattributes Purpose Prints an HTML tag to open a container of web page frames The PL SQL Web Toolkit Reference 6 29 htp framesetClose htp frame Parameters crows in varchar2 DEFAULT NULL ccols in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt FRAMESET ROWS crows COLS ccols cattributes gt Syntax htp framesetClose Purpose Prints an HTML tag to close a container of web page frames Parameters none Generates lt FRAMESET gt Syntax htp frame csrc cname cmarginwidth cmarginheight cscrolling cnoresize cattr
214. s use expiration dates defined in Greenwich Mean Time GMT If you are not on GMT you can specify your time zone using one of these two constants If your time zone is recognized by Oracle which you can determine by consulting Chapter 3 of the Oracle7 Server SQL Reference under SQL Functions you can directly specify it using dbms_server_timezone otherwise you can use dbms_server_gmtdiff to give the offset of your time zone from GMT Change the values shown below and reload the package The PL SQL Web Toolkit Reference 6 81 Constants dbms_server_timezone constant varchar2 3 PST Text string abbreviation for your timezone dbms_server_gmtdiff constant number NULL Number of hours your timezone diverges from Greenwich Mean Time A positive number if your timezone is ahead of GMT otherwise negative 6 82 Oracle WebServer 2 0 User s Guide CHAPTER El Oracle WebServer Messages This appendix contains messages you may receive if you encounter errors while using Oracle WebServer If you get an error message look in this appendix to find the probable cause and suggestions of what to do 00001 00600 Generic Oracle WebServer Configuration Messages OWS 00000 utility normal successful completion Cause Normal exit Action None OWS 00001 utility unable to open file filename Cause The file may not exist or may not be readable to the signalling program Action Verify the file s ex
215. server can create security and other risks For this reason you can specify that a specific Listener allows only crippled includes This means that LiveHTML parsed by that Listener will be able only to call static HTML environment variables or other server parsable files not executable scripts You frequently use LiveHTML when you have standard components such as menus that you want on many pages If desired you can use LiveHTML to run the PL SOL Agent under CGI and thereby incorporate dynamic Oracle data in hardcoded Web pages Oracle WebServer Concepts 1 17 1 18 Oracle WebServer 2 0 User s Guide CHAPTER SS Using the Oracle WebServer Manager The Oracle WebServer Manager is a collection of HTML forms you can use to configure your Oracle WebServer The following links go to WebServer Manager forms that allow you to e Start and stop Oracle7 databases e Configure Oracle Web Listener processes e Configure the PL SQL Agent e Configure the Web Request Broker Starting and Stopping Oracle7 Databases The Oracle WebServer Database Administration Form provides a convenient way to start and stop Oracle7 databases that your WebServer uses To perform other database administration tasks see the Oracle7 Server Administrator s Guide Configuring Oracle Web Listener Processes The Oracle Web Listener is the Oracle WebServer s HTTP engine which handles connections from clients web browsers You can run severa
216. specifies a non CGI script Execution is passed to the Operating System and the given string is parsed as though it were entered at a command line interface The full path of the script must be given The non CGI environment variables specified under echo above can be referenced Whether the output of the script is included in the HTML page that the parser outputs is determined by the most recently executed config cmdencho cgi This specifies a CGI script The value given will be the virtual path of the script URL locations are automatically converted into HTML anchors 4 32 Oracle WebServer 2 0 User s Guide CHAPTER eS Sample Applications This section provides an overview of the simple applications included with the Oracle WebServer These applications fall into the following categories e PL SQL Agent Sample Applications e LiveHTML Sample Tags e Java Sample Applications PL SQL Agent Sample Applications There are three sample applications using the PL SOL Agent e Hello World This creates a simple Web page incorporating an environment variable e Variable Field Forms This generates varying text depending on which boxes the user clicks in an HTML form e Cookie This uses a seven day cookie to tell the user how often he has visited this sight LiveHTML Sample Tags This provides examples of how to do the following with LiveHTML tags e Include files from the OS e Reference environment variables
217. ssing the built in functions SQLCODE and SQLERRM which contain respectively the numeric code and a prose description of the message You can also define your own exceptions as will be shown It is usually better however to use Oracle exceptions where possible because then the conditions are tested automatically when each statement is executed and an exception is raised if the error occurs Declaring Exceptions PL SQL predefined exceptions of course need not be declared You declare user defined exceptions or user defined labels for Oracle messages in the DECLARE section similarly to variables An example follows customer_deceased EXCEPTION In other words an identifier you choose followed by the keyword EXCEPTION Notice that all this declaration has done is provide a name The program still has no idea when this exception should be raised In fact there is at this point no way of telling if this is to be a user defined exception or simply a label for an Oracle message Labeling Oracle Messages If a previously declared exception is to be a label for an Oracle error you must define it as such with a second statement in the DECLARE section as follows PRAGMA EXCEPTION_INIT exception_name Oracle_error_number A PRAGMA is a instruction for the compiler and EXCEPTION_INIT is the type of PRAGMA This tells the compiler to associate the given exception name with the given Oracle error number This is the same number to whi
218. stead of the image if the browser does not support images The ISMAP attribute indicates that the image is an image map The CUSEMAP parameter specifies a client side image map Parameters curl in varchar2 DEFAULT NULL calign in varchar2 DEFAULT NULL calt in varchar2 DEFAULT NULL cismap in varchar2 DEFAULT NULL cusemap in varchar2 DEFAULT NULL cattributes i nvarchar2 DEFAULT NULL Generates lt IMG SRC curl ALIGN calign ALT calt ISMAP USEMAP cusemap cattributes gt Syntax htp para Purpose Prints an HTML tag that indicates that the text previous to it should be formatted as a paragraph Parameters none Generates lt P gt Syntax htp paragraph calign cnowrap cclear cattributes The PL SQL Web Toolkit Reference 6 17 htp address htp Comment Purpose Prints the same HTML tag as htp para except that parameters pass in exact alignment leading wrapping and attributes Parameters calign in varchar2 DEFAULT NULL cnowrap in varchar2 DEFAULT NULL cclear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt P ALIGN calign NOWRAP CLEAR cclear cattributes gt Syntax htp address cvalue cnowrap cclear cattributes Purpose Prints an HTML tag that enables you to specify address author and signature of document Parameters cvalue in varchar2 cnowrap in varchar2 DEFAULT NULL cclear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL
219. stener configurations Listener Name An alphanumeric string no more than six characters long that uniquely identifies a Web Listener process A 8 Listener PID File A one line text file that contains an ASCII representation of the process ID PID of a Web Listener process LiveHTML Oracle s extension of the industry standard Server Side Includes SSI functionality LiveHTML files supplement HTML with instructions that WebServer executes before transmitting the page These instruction specify material that is to be included in the generated page Said material can include other Web pages environment variables and the output of programs executed on the Server The programs may but need not conform to the CGI standard Local Database For the WebServer a database that runs on the same machine as the WebServer Log File Directory A directory in which the PL SQL Agent stores log files for a particular Database Connection Descriptor DCD Memory Mapping For the WebServer the practice of mapping an open file directly into the address space of a Web Listener process This speeds file access and allows multiple clients to access the same file simultaneously without making a separate copy for each client MIME Type A file format defined by the Multipurpose Internet Mail Extensions standard Several RFCs define MIME NULL A marker is the database for the absence of data b The logical result of the comparison
220. string long enough to repeat it in the next step Retype the password for confirmation Choose the public exponent you want to use in generating the key pair The only two recognized exponents are 3 and 65537 commonly called Fermat 4 or F4 Enter the size in bits of the modulus you want to use in generating the key pair For the version of genreq sold in the United States of America the size may be from 1 to 1024 The default size is 768 bits and the maximum is 1024 bits A modulus size between these two values is recommended For versions of genreg sold outside the USA the maximum and default modulus size is 512 bits Choose one of three methods for generating a random seed to use in generating the key pair F genreq prompts you to enter the full pathname of a file in your local file system This can be any file that is at least 256 bytes in size does not contain any secret information and has contents that cannot easily be guessed K genreq prompts you to enter random keystrokes genreg uses the variation in time between keystrokes to generate the seed Don t use the keyboard s autorepeat capability and don t wait longer than two seconds between keystrokes genreq prompts you when you have typed enough keystrokes You must delete any unused characters typed after this prompt B genreq prompts you to enter both a file name and random keystrokes This option is recommended Enter the name of a file in which
221. t which is more convenient when managing a large site Note You can use hypertext links to navigate through a document or to move from document to document However HTML does not support returning you to the anchor point of a link within a document If you use a hypertext link within a document and then use the Back button you do not return to the anchor but to the previous point that you reached through a link Oracle WebServer 2 0 User s Guide What is a URL Introduction To HTML HTML uses what are called Uniform Resource Locators URLs to represent hypermedia links and links to network services within documents The first part of the URL before the colon specifies the access method The part of the URL after the colon is interpreted specifically according to the access method In general two forward slashes after the colon indicate a machine name The general format of a URL is method machine name path foo html The following example would fetch the document index html from the server www acme com using the HTTP protocol http www acme com index html A Uniform Resource Locator URL has the following format method servername port pathname anchor The components of the URL are as follows method is the name of the operation that is performed to interpret this URL The most common methods are file Read a file from the local disk The filename is interpreted on the user s machine so this can be used to
222. t by using an outer join An outer join is a join that includes all of the rows from one of the tables joined regardless of whether there were matches in the other table Such a join inserts nulls in the output in whichever columns were taken from the table that failed to provide matches for the outer joined table Here is the same query done as an outer join SELECT a CNUM LNAME FNAME PHONE TYPE FROM Customers a Customer_Phone b WHERE a CNUM b CNUM This is the output of the above CNUM LNAME FNAME PHONE TYPE 4005 Peel Julia 375 296 8226 home 4005 Peel Julia 31589523718 beeper 4007 Subchak Terry NULL NULL 4008 Lopez Emilio 488 255 9011 home 4008 Lopez Emilio 488 633 8591 work 4011 Lim Kerry 577 936 8554 home Notice that the only difference in the query is the addition of to the WHERE clause This follows the table for which nulls are to be inserted The output from the query then includes at least one row for each row of the table that did not have appended in the predicate Oracle WebServer 2 0 User s Guide You can also use SELECT statements to produce values for processing within queries these are called subqueries and you can perform standard set operations UNION INTERSECTION on SELECT statement output For more information on the SELECT statement subqueries and joins see SELECT in Chapter 4 of the Oracle7 Server SQL Reference Where to Look for More Information Oracle7 SQL is a very complex
223. t spawned and maintains communication with it through standard input and output Therefore the CGI process can get the input it needs from the URL itself and or the standard input It sends its output back to the Listener through the standard output and the Listener transmits it in turn to the client s Web browser The fact that CGI applications spawn a new process each time they are used is costly in terms of performance For this among other reasons Oracle recommends that you use the WRB instead The Web Request Broker WRB The WRB Web Request Broker is an asynchronous request handler with an API Application Program Interface that enables it to interface dynamically and seamlessly to various back end technologies called WRB Services Whenever the Web Listener receives a URL that calls for the WRB it passes execution of the request to the WRB Dispatcher or simply Dispatcher The Dispatcher maintains communication with a pool of processes called WRB Executable Engines WRBXs The Dispatcher finds a free WRBX that is configured to run the desired WRB Service and passes execution to it The result is that the Listener can receive and validate URLs coming in while each request is handed off to a process that executes it in the background Each WRBX uses the WRB API to interface to a WRB cartridge WRB cartridges can be of the following types e The PL SOL Agent This cartridge executes PL SQL commands stored in the database It
224. tArea field Parameters none Generates lt TEXTAREA gt Table Tags The Table tags allow the user to insert tables and manipulate the size and columns of the table in a document The PL SQL Web Toolkit Reference 6 51 htp tableOpen htp tableClose htp tableCaption Note Allthe hypertext procedures HTP shown in this section are also available as hypertext functions HTF Syntax htp tableOpen cborder calign cnowrap cclear cattributes Purpose Prints an HTML tag that begins an HTML table Parameters cborder in varchar2 DEFAULT NULL calign in varchar2 DEFAULT NULL cnowrap in varchar2 DEFAULT NULL cclear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt TABLE cborder NOWRAP ALIGN calign CLEAR cclear cattributes gt Syntax htp tableClose Purpose Prints an HTML tag that ends an HTML table Parameters none Generates lt TABLE gt Syntax htp tableCaption ccaption calign cattributes Oracle WebServer 2 0 User s Guide htp tableRowOpen htp tableRowClose Purpose Prints an HTML tag that places a caption in the inserted table Parameters ccaption in varchar2 calign in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt CAPTION ALIGN calign cattributes gt ccaption lt CAPTION gt Syntax htp tableRowOpen calign cvalign cdp cnowrap cattributes Purpose Prints an HTML tag that inserts a ro
225. tabase as the PL SQL Agent does or whether you also want to access other data services such as the OS file system e The balance of database intensive to net or multimedia intensive operations in your application To use the Java Web Toolkit import the following into your Java code e oracle html contains the objects for dynamic HTML generation e oracle rdbms contains the objects for database access e oracle plsql contains the objects for PL SQL access Obviously if you only want to perform some of these functions you need only import some of these objects For more information see Database Access from Java Example of Java Database Access Dynamic HTML from Java and Java Dynamic HTML Examples Database Access from Java Using Java to call PL SOL circumvents the PL SOL Agent and this has a number of consequences among them the following Developing Applications for the Oracle WebServer 4 15 e PL SQL Agent processes invoked through the WRB but not CGI connect to the database automatically at startup Java processes connect to the database when necessary This gives a significant performance advantage to the PL SQL Agent e The PL SQL Agent uses Database Connection Descriptors DCDs to control the privileges an application runs under and the database schema to which it connects in a generalized and application independent way In Java database connections are coded into the application Nonetheless
226. tag SELECT allows users to select from a set of possible values for an HTML form field If the SIZE parameter of that SELECT tag is greater than one the form allows multiple selection and the user can choose to select more than one value For example if you ask a user to indicate her hobbies she may well have more than one In this case you pass the multiple values to a single PL SQL parameter which must be a PL SQL table A PL SQL table is a data structure similar to an array Example of a Multivalued Field Another case where one has a set of values corresponding to a single form field is shown in this example QUERY_FORM prints an HTML page with all the columns for the specified table Invoke the procedure from a Web Browser with a URL like http yourhost port_num service_name owa query_form the_table emp create or replace procedure query_form the_table in varchar2 is cursor cols is select column_name from user_tab_columns where table_name upper the_table begin htp htmlOpen htp headOpen htp htitle Query the the_table table Developing Applications for the Oracle WebServer 4 9 htp headClose htp bodyOpen Use owa_util get_owa_service path to automatically retrieve htp formOpen owa_util get_owa_service_path do_query Put in the table as a hidden field to pass on to do_query htp formHidden the_table the_table Put in a dummy value as we cannot DEFAULT NULL a PL SQL table htp for
227. tatement the UPDATE statement and the DELETE statement INSERT places rows in a table UPDATE changes the values they contain and DELETE removes them The INSERT Statement B 8 For INSERT you simply identify the table and its columns and list the values as follows INSERT INTO Customers cnum FNAME LNAME VALUES 2004 Harry Brighton This statement inserts a row with a value for every column but ADDRESS Since you did not in your CREATE TABLE statement place a NOT NULL constraint on the ADDRESS column and since you did not give that column a value here Oracle sets this column to null If you are inserting a value into every column of the table and you have the values ordered as the columns are in the table you can omit the column list You optionally can put a SELECT statement in place of the VALUES clause of the INSERT statement to retrieve data from elsewhere in the database and duplicate it here For more information on the INSERT and the Oracle WebServer 2 0 User s Guide SELECT statements see INSERT and SELECT respectively in Chapter 4 of the Oracle7 Server SQL Reference The UPDATE Statement UPDATE is similar to SELECT in that it takes a predicate and operates on all rows that make the predicate TRUE For example UPDATE Customers SET ADDRESS WHERE LNAME null r Subchak This sets to null all addresses for customers named Subchak The SET clause of an UPDATE command c
228. te on OWA_IMAGE to lt user gt grant execute on OWA_COOKIE to lt user gt grant execute on OWA_INIT to lt user gt Create synonyms for the P1 SQL Web Toolkit PL SQL packages in the schemas of all OWA database users who are specified in PL SQL Agent DCDs Synonyms are alternate names that make it possible for the packages to be referred to without being qualified by schema names For more information see Ownership and Naming Conventions in Chapter of this manual and see CREATE SYNONYM in Chapter 4 of the Oracle7 Server SQL Reference connect lt user gt lt password gt create synonym HTF for lt Toolkit owner gt HTF create synonym HTP for lt Toolkit owner gt HTP create synonym OWA_UTIL for lt Toolkit owner gt OWA_UTIL create synonym OWA for lt Toolkit owner gt OWA create synonym OWA_PATTERN for lt Toolkit owner gt OWA_PATTERN create synonym OWA_TEXT for lt Toolkit owner gt OWA_TEXT create synonym OWA_IMAGE for lt Toolkit owner gt OWA_IMAGE create synonym OWA_COOKIE for lt Toolkit owner gt OWA_COOKIE create synonym OWA_INIT for lt Toolkit owner gt OWA_INIT PL SQL procedures run with the privileges of the creator of the PL SQL code For the Web Toolkit this is only an issue for the owa_util package Two of the subprograms showsource and tableprint access user data Granting execute privileges on this package to users allows those users to view the tables views and stored PL SQL code of the owne
229. tegory links will take you to a form where you can perform the tasks in that category Oracle7 Database Administration e Starting up an Oracle7 database e Shutting down an Oracle7 database Oracle Web Listener Administration e Creating a new Web Listener e Modifying a Web Listener configuration e Configuring Web Listener network parameters e Configuring Web Listener logging parameters 2 2 Oracle WebServer 2 0 User s Guide Configuring Web Listener user and group parameters Configuring Web Listener virtual directory mappings Configuring Web Listener file caching Defining Web Listener file extensions for language formats Defining Web Listener file extensions for MIME types Defining Web Listener file extensions for encoding formats Configuring Web Listener security Controlling access to virtual files and directories Configuring port security SSL Starting a Web Listener process Stopping a Web Listener process Deleting a Web Listener Enabling Web Listener proxy behavior Enabling LiveHTML parsing for a Web Listener PL SQL Agent Administration Creating a new Database Connection Descriptor DCD Creating a default DCD Creating a DCD for database administration Creating a new DCD from an existing configuration Modifying a DCD Deleting a DCD Web Request Broker Administration Configuring the Web Request Broker Configuring a new WRB cartridge Modifying a WRB cartridge configuration Deleting a WRB cartridge Using the Oracl
230. ter networks Oracle WebServer can execute Java directly and can send Java programs called applets to the client s browser for execution there Java Interpreter In general a program that interprets and executes Java bytecode independently of a Web browser In Oracle WebServer this refers specifically to the Java Interpreter that WebServer provides for the purpose of executing Java on the server Java Web Developer s Toolkit A group of Java classes provided with the Oracle WebServer SDK to make it easier for you to interface to the Oracle7 Server and generate dynamic HTML using Java Key a A large number used in encrypting data See also Private Key and Public Key b A unique identifier used in a relational database called a primary key c A reference to a primary key called a foreign key Key Pair A pair of mathematically related keys a public key and a private key associated with a user used in public key encryption Language Identifier A two character alphanumeric string that identifies a human language as defined by RFC 1766 Listener Portion of the WebServer that receives HTTP requests You can use the Oracle WebServer Manager to create multiple Web Listener processes and assign each to accept connections on a different set of ports Listener Configuration A collective name for the parameters that control the behavior of a Web Listener process You use the WebServer Manager to maintain li
231. text and add images within the body of your HTML text Note Although this section shows hypertext procedures HTP all of them are also available as hypertext functions HTF Syntax htp line cclear csrc cattributes Purpose Prints the HTML tag that generates a line in the HTML document csrc enables you to specify a custom image as the source of the line Parameters cclear in varchar2 DEFAULT NULL esre in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt HR CLEAR cclear SRC csrc cattributes gt Alias for htp line Syntax htp nl cclear cattributes Purpose Prints the HTML tag that inserts a new line Parameters cclear in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL The PL SQL Web Toolkit Reference 6 13 htp br htp header htp anchor 6 14 Generates lt BR CLEAR cclear cattributes gt Alias for htp nl Syntax htp header nsize cheader calign cnowrap cclear cattributes Purpose Prints the HTML tag for a heading level with the value of the heading level assigned in the nsize parameter Valid levels are 1 through 6 Parameters nsize in integer cheader in varchar2 calign in varchar2 DEFAULT NULL cnowrap in varchar2 DEFAULT NULL cclear in varchar2 DEFAULT NULL cattributesi n varchar2 DEFAULT NULL Generates lt Hnsize ALIGN calign NOWRAP CLEAR cclear cattributes gt cheader lt Hnsize gt Example htp header 1
232. text procedure generates a line in an HTML document that contains the HTML tag that corresponds to its name For instance the htp anchor procedure generates an anchor tag The HTP package will be the most commonly used package of the three 6 2 Hypertext Functions HTF A hypertext function returns the HTML tag that corresponds to its name However it is not sufficient to call an HTF function on its own because the HTML tag is not passed to the PL SQL Agent The output of an HTF function must be passed to htp print in order to actually be part of an HTML document Thus the following line htp print hntf italic Title is functionally equivalent to htp italic Title Every hypertext function HTF has a corresponding hypertext procedure HTP Thus HTF functions are generally used only when the programmer needs to nest calls such as htp header 1 htf italic Title In this example htf italic will generate the following character string lt I gt Title lt I gt This string is then passed to the htp header procedure and the following line will appear in the HTML document being formatted lt H1 gt lt I gt Title lt I gt lt H1 gt OWA Utilities QWA_UTIL This is a collection of useful utility procedures and functions The purposes of these range from printing a signature tag on HTML pages to easy formatting of Oracle tables into HTML OWA This is a set of procedures called only by the
233. th 2 columns DynamicTable tab new DynamicTable 2 create the rows and add them to the table TableRow rows new TableRow NUM_ROWS for int i 0 i lt NUM_ROWS i allocate TableRow rows i new TableRow populate row with data rows i addCell new TableHeaderCell product getProductID addCell new TableDataCell product getProductDescription Oracle WebServer 2 0 User s Guide add them to Table tab addRow rows i The following Java code creates an HTML menu Create a MenuList Object MenuList menulist new MenuList Add new items to the list menulist addItem new SimpleItem Menu Item 1 addItem new SimpleItem Menu Item 2 Add the list object to the body bd addItem menulist The following Java code creates an HTML definition list encapsulated in a Container object Creates a new Container Object Container dterms new Container dterms addItem new SimpleItem DefTerm1 1 dterms addItem new SimpleItem DefTerm1 2 DefinitionList dl new DefinitionList Creates a new Definition List Object note the first argument dl addDef dterms new SimpleItem Definitionl The following Java code creates an HTML ordered list Create a OrderedList Object OrderedList orderedlist new OrderedList Add new items to the list orderedlist addItem new SimpleItem Ordered Item 1 addItem new SimpleItem Orde
234. that encapsulates another kind of object possibly external to Java itself such as a PL SQL package WRB See Web Request Broker WRB WRB API An open API used by the Web Request Broker WRB WRB Cartridge A program that is executed on the WebServer through the WRB API WRB Dispatcher Portion of the WRB that distributes requests to running processes WRB Executable Engine WRBX One of a pool of processes that the WRB maintains continuously so that HTTP requests requiring the execution of programs are not slowed down by the performance cost of spawning a new process WRBX s are associated with WRB Cartridges and are created and destroyed according to workload WRB Service A particular server extension to be run through the WRB A WRB Service is the combination of a WRB Cartridge with its interface the WRB API The Oracle WebServer comes with three WRB Services the PL SQL Agent the Java Interpreter and the LlveHTML Interpreter Using the WRB API you can supplement these with your own Oracle WebServer 2 0 User s Guide APPENDIX Overview of the Oracle7 Server SOL and PL SOL This section provides an overview of the Oracle database and a guide to its documentation set This subject cannot be thoroughly covered here What is provided is a conceptual overview and enough information on PL SQL to enable you to write simple programs You are referred to the Oracle7 Server documentation for further information The
235. the REFERENCING clause of the CREATE TRIGGER statement which is omitted from the syntax diagram above for the sake of simplicity For more information on this clause see CREATE TRIGGER in the Oracle7 Server SQL Reference Note if a trigger raises an unhandled exception its execution fails and the statement that triggered it is rolled back if necessary This enables you to use triggers to define complex constraints If the effects of the trigger have caused a change in the value of package body variables however this change is not reversed You should try to design your packages to spot this eventuality For more information see Using Database Triggers in the Oracle7 Server Application Developers Guide Enabling and Disabling Triggers Just because a trigger exists does not mean it is in effect If the trigger is disabled it does not fire By default all triggers are enabled when created but you can disable a trigger using the ALTER TRIGGER statement To do this the trigger must be in your schema or you must have the ALTER ANY TRIGGER system privilege Here is the syntax Overview of the Oracle7 Server SQL and PL SQL B 35 ALTER TRIGGER trigger_name DISABLE Later you can enable the trigger again by issuing the same statement with ENABLE in place of DISABLE The ALTER TRIGGER statement does not alter the trigger in any other way To do that you must replace the trigger with a new version using CREATE OR REPLACE TRIGGER For m
236. the schema name followed by a dot no spaces SQL utilizes a hierarchical naming convention with the levels of the hierarchy separated by dots In fact you sometimes have to precede column names by table names to avoid ambiguity in which case you also use a dot The following is an example in the form schemaname tablename columnname Overview of the Oracle7 Server SQL and PL SQL B 7 scott Customers LNAME You can simplify references like this by using synonyms which are aliases for tables or other database objects Synonyms can be private meaning that they are part of your schema and you control their usage or public meaning that all users can access them For example you can create a synonym Cust for scott Customers as follows CREATE SYNONYM Cust FOR scott Customers This would be a private synonym which is the default Now you could rewrite the example above like this Cust LNAME You still have to refer to the column directly Synonyms can only be for tables not table components like columns For more information on synonyms see CREATE SYNONYM in Chapter 4 of the Oracle7 Server SQL Reference For more information on SQL naming conventions see Chapter 2 of the Oracle7 Server SQL Reference For more on schemas see CREATE SCHEMA in Chapter 4 of the Oracle7 Server SQL Reference Inserting and Manipulating the Data Which SQL statements determine the actual data content Chiefly three the INSERT s
237. three options the window will have a scroll bar The SIZE tag within the SELECT tag specifies how many options will be shown in the window The following is an example of a lt SELECT SINGLE gt tag lt FORM gt lt SELECT SINGLE NAME group SIZE 3 gt lt OPTION gt Gretzky lt OPTION gt Messier lt OPTION gt Coffey lt OPTION gt Kurri lt SELECT gt lt FORM gt In this example the first three names would appear in the window and a scroll bar would scroll to the last name The SELECT MULTIPLE tag is the same as the SELECT SINGLE tag but the user can select more than one option in the window The SIZE tag specifies how many lines appear in the window and the MULTIPLE tag specifies how many options can be selected The following is an example of SELECT MULTIPLE lt FORM gt lt SELECT MULTIPLE NAME group SiZE 3MULTIPLE 2 gt lt OPTION gt Gretzky lt OPTION gt Messier lt OPTION gt Cof fey lt OPTION gt Kurri lt SELECT gt lt FORM gt Note On some browsers it may be necessary to hold down the CONTROL or SHIFT key to select multiple items If multiple items are selected they each get passed to the server with the same name The decoding script has to be able to recognize multiple values associated with the same name Creating Your Own HTML Document Introduction To HTML Now that most of HTML has been demystified you can create your own HTML documents Use any browser to view the HTML document y
238. to indent the nested HTML components You may wish to do so for clarity however The definition list tags lt DL gt lt D DL gt enclose both the defined term identified with the lt DT gt tag and the definition of that term identified with the lt DD gt tag Most browsers format the definition on a separate line from the term The following is an example of a definition list lt DL gt lt DT gt Slapshot lt DD gt A shot used to drill the goalie at speeds up to 100 mph lt DT gt Wristshot lt DD gt A shot used to scare the goalie after the slapshot lt DL gt The output looks like this Slapshot A shot used to drill the goalie at speeds up to 100 mph Wristshot A shot used to scare the goalie after the slapshot Hypertext Linking Hypertext linking is the key characteristic that makes the Web appealing to users By adding hypertext links called anchors in your HTML document you can create a highly intuitive information flow and guide the user directly to the information he or she needs Anchors have a standard format that allows any Web browser to interpret a link and perform the proper function called a method for that type of link Links can refer to other documents specific locations within the same document or can perform operations such as retrieving a file using FTP for display by the browser URLs can refer to a specific location by an absolute pathname or can be relative to the current documen
239. to make secure specific virtual files or directories by assigning authentication and or restriction schemes to protect them Authentication Schemes When a file or directory is protected by an authentication scheme a client requesting access to it must provide a user name and password Authentication schemes allow you to define named groups of user name password combinations and named realms that are groups of these groups You can then assign user group and realm names to virtual files and directories requiring any client requesting access to input one of the specified user name password combinations The Web Listener supports two authentication schemes basic authentication and digest authentication Both schemes are identical except that digest authentication transmits passwords from client to server in an encrypted form called a digest whereas basic authentication sends unencrypted passwords making it considerably less secure Some older web browsers don t support digest authentication but for files or directories that require authentication you should use digest authentication whenever possible Oracle WebServer Concepts 1 5 Restriction Schemes When a file or directory is protected by a restriction scheme only a client accessing the Web Listener from a trusted group of host machines may access it The two restriction schemes that the Web Listener supports are IP based restriction and Domain based restriction IP based res
240. to store your WebServer s distinguished name You can choose the default or enter any filename with a der extension genregq creates this file in the current directory though you may later move it to any convenient location Enter the name of a file in which to store your WebServer s private key You can choose the default or enter any filename witha der extension genregq creates this file in the current directory though you may later move it to any convenient location Enter the name of a file in which to store the certificate request You can choose the default or enter any filename with a pkc extension Oracle WebServer 2 0 User s Guide 11 Enter the requested identification information for you organization e Common Name the fully qualified host name of your organization s Internet point of presence as defined by the Domain Name Service DNS for example www oracle com e Email Address the email address where the CA can contact you e Organization the official legal name of your company or organization Most CAs require you to verify this name by providing official documents such as a business license e Organizational Unit optional the name of the group division or other unit of your organization responsible for your Internet presence or an informal or shortened name for your organization e Locality optional the city principality or country where your organization is located e State or
241. to the WebServer to exchange a secret key called a session key which both client and server use to encrypt and decrypt transmitted data Oracle WebServer 2 0 User s Guide Authentication Another application of encryption is authentication Authentication using public key encryption involves using a digital signature an electronic proof of identity analogous to a handwritten signature If you want to sign an electronic document in a verifiable and legally binding way you must first possess a key pair You must then run a program that generates a digital signature using the private key and the document itself You can then attach the digital signature to the document and send it Anyone who receives this document together with its digital signature can then use the your public key to verify your identity and to verify that the document has not been tampered with Certificates and Certifying Authorities When clients connect to your web site for a transactions that require them to transmit sensitive information they must be assured that they haven t connected to an impostor pretending to be you Clients therefore require your WebServer to authenticate itself before such transactions can proceed To authenticate itself your WebServer must present the client with the proper credentials called a certificate When you set up a secure WebServer you must obtain a certificate from a trusted third party company called a certi
242. triction allows you to define groups of trusted hosts identified by IP address whereas Domain based restriction allows you to define groups of trusted hosts identified by DNS host or domain name File Format Negotiation Language Formats MIME Formats Encodings Filename Extensions 1 6 The Oracle Web Listener can maintain several versions of a document in different formats and provide it to clients in the formats they prefer For example if a client requests a document in French the Web Listener checks to see if it has a French version of the document and if so returns that version to the client Otherwise the Web Listener returns the version of the document in its own default language usually English Similarly a client can request a document of a particular Multipurpose Internet Mail Extensions MIME type If the Web Listener can find a version of the requested file in the requested MIME format it returns that version to the client Otherwise it returns the version of the file that has the smallest size The Web Listener can also maintain versions of a document that have been encoded by programs such as a compression utilities For example if a client can uncompress a document that has been compressed by the gzip program the Web Listener can return to the client the compressed version of document instead of the uncompressed document saving transfer time The Web Listener uses filename extensions to identify a file
243. ts an HTML tag at the beginning of the list Parameters ctext in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt LH cattributes gt ctext lt LH gt Syntax htp listItem ctext cclear cdingbat csrc cattributes Purpose Prints an HTML tag that formats a listed item Parameters ctext in varchar2 DEFAULT NULL cclear in varchar2 DEFAULT NULL cdingbat in varchar DEFAULT NULL csrc in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt LI CLEAR cclear DINGBAT cdingbat SRC csrce cattributes gt ctext Oracle WebServer 2 0 User s Guide htp ulistOpen htp ulistClose htp olistOpen Syntax htp ulistOpen cclear cwrap cdingbat csrc cattributes Purpose Prints an HTML tag that is used to open an unordered list that presents listed items separated by white space and marked off by bullets Parameters cclear in varchar2 DEFAULT NULL cwrap in varchar2 DEFAULT NULL cdingbat in varchar2 DEFAULT NULL esre in varchar2 DEFAULT NULL cattributes in varchar DEFAULT NULL Generates lt UL CLEAR cclear WRAP cwrap DINGBAT cdingbat SRC csrc cattributes gt Syntax htp ulistClose Purpose Prints an HTML tag that ends the unordered list Parameters none Generates lt UL gt Syntax htp olistOpen cclear cwrap cattributes The PL SQL Web Toolkit Reference 6 33 htp olistClose htp dlistOpen Purpose Prints an HTML tag that is used t
244. ts the following kinds of flow control statements e IF statements These execute a group of one or more statements based on whether a condition is TRUE e Basic loops These repeatedly execute a group of one or more statements until an EXIT statement is reached e FOR loops These repeatedly execute a group of one or more statements a given number of times or until an EXIT statement is reached Overview of the Oracle7 Server SQL and PL SQL B 21 IF Statements B 22 e WHILE loops These repeatedly execute a group of one or more statements until a particular condition is met or an EXIT statement is reached e GOTO statements These pass execution directly to another point in the code exiting loops and enclosing blocks as necessary Use these sparsely as they make code difficult to read and debug If you know other programming languages you probably are familiar with most or all of these types of statements The following sections describe the PL SQL versions of them in greater detail For more information on any of these see Control Structures in the PL SQL User s Guide and Reference You can nest flow control statements within one another to any level of complexity These are similar to the IF statement in many other languages except that they use predicates which are three valued Boolean expressions like the SQL predicates discussed earlier in this appendix In most respects a Boolean NULL behaves like a Boolean F
245. tt tiger HR_DB catch ServerException e bd addItem new SimpleItem Logon fails e getSqlerrm hp print return ADD create a new instance of Employee package Employee employee new Employee session ADD find the department name from the input parameter String deptName null if args length lt 1 args 0 startsWith DEPT bd addItem new SimpleItem No department name given hp print Developing Applications for the Oracle WebServer 4 23 4 24 return else deptName args 0 substring 5 ADD create objects to encapsulate PL SQL values that are used as parameters PStringBuffer pDeptName new PStringBuffer 30 deptName PStringBuffer pEmployeeName PDouble pEmployeeNumber PDouble pEmployeeCount ADD print report header bd addItem Department pDeptName addItem SimpleItem Paragraph ADD call Employee package to count the number of employees in the department try pEmployeeCount employee count_employees pDeptName catch ServerException e bd addiItem Fail to retrieve employee information for department deptName e getSqlerrm hp print return int employeeCount int pEmployeeCount doubleValue if employeeCount 0 bd addItem No employee found under department deptName hp print jy return ADD allocate the
246. u use backrefs you are using the third or fourth version of the function e Given the above you can determine which version you are using as follows If you are using backrefs it is version 3 or 4 Otherwise it is version 1 or 2 Once you have determined the pair you determine the actual version by whether the regular expression is a VARCHAR string odd numbered or a pattern even numbered CHANGE can be either a procedure or a function depending on how it is invoked If a function it returns the number of changes made If the flag g is not used this number can be only 0 or 1 Here is a summary of the versions of CHANGE e The target can be either a simple VARCHAR string of less than 32K or a multi_line e Unlike MATCH and AMATCH the regular expression can only be a VARCHAR2 string not a pattern e Following the regular expression is the string that is to replace it This string can use the token ampersand amp which indicates that the portion of the target that matched the regular expression is to be included in the expression that replaces it For example CHANGE Cats in pajamas C in amp red The regular expression matches the substring Cats in It then replaces this string with amp red amp indicates Cats in since that s what matched the regular expression Thus this procedure replaces the string Cats in pajamas with Cats in red pajamas Of course we used a
247. ume the following PL SQL package CREATE OR REPLACE package Employee as function employee_name employee_numberinnumber return varchar2 END By default the length of the return value is 255 bytes You can change this using the code shown below public class EmployeeReport public static void main String args Session session new Session scott tiger HR_DB Employee employee new Employee session PDouble pEmployeeNumber new PDouble double 12345 Set VARCHAR2 return length for function employee_name to 50 employee employee_name_O_return_length 50 System out printlin Employee ID pEmployeeNumber name employee employee_name pEmployeeNumber Similarly when a PL SQL function returns a PL SQL table its default length is 40 You can change that length by changing the following variable in the wrapper class lt function name gt _ lt overload number gt _return_arraylength Making a connection to the database The first thing that you have to do in the EmployeeReport program is to connect to a database You do this by using the following code to create a Session object import oracle html import oracle rdbms ADD import Oracle classes which deal with database public class EmployeeReport public static void main String args HtmlHead hd HtmlBody bd new HtmlHead Employee Listing new HtmlBody Oracle WebServer 2 0 User s Guide
248. use The port specified for service creation or modification is already in use by the Oracle WebServer Administration Server Action Choose another port to run one of the Web Listeners on OWS 05712 The Oracle Web Listener listener name is already configured to run on port number Cause The port specified for service creation or modification is already in use by another Oracle Web Listener Action Choose another port to run one of the Web Listeners on OWS 05713 Value for parameter must be between minimum and maximum Action Specify a value between the two limits and resubmit the form OWS 05714 For ports less than number the effective userid must be root Cause Ports below that specified require superuser privileges to run a Web Listener on it Action Configure the Web Listener to run on a unrestricted port or set the effective userid for this Web Listener the superuser OWS 05715 An Oracle Web Listener named listener name already exists Cause Listener names must be unique 7 8 Oracle WebServer 2 0 User s Guide Action Name the submitted listener something else OWS 05716 Port Number number is duplicated in the Addresses and Ports list Cause Port numbers must be unique Action Remove duplication and resubmit the form OWS 05717 Fill out form has unknown input field format Cause Oracle admbin html files have probably been tampered with Action Restore
249. use of this tag is for formatting addresses or some other sequence of lines where you don t want the browser to add extra spacing For example Sandy s Super Sundaes lt BR gt 123 Main Street lt BR gt Anytown USA lt BR gt Oracle WebServer 2 0 User s Guide BlockQuote The lt BLOCKQUOTE gt tag is used to contain text quoted from another source The quote will be indented approximately 8 spaces For example My favorite hockey saying is lt P gt lt BLOCKQUOTE gt Today is a great day for hockey lt BLOCKQUOTE gt But I m not sure if Bob Johnson really said it like that lt P gt This would appear something like the following My favorite hockey saying is Today is a great day for hockey But I m not sure if Bob Johnson really said it like that Summary of Basic HTML Tags The following table lists the basic HTML tags and their corresponding values Opening Closing Definition lt HTML gt lt HTML gt An entire HTML docu ment lt HEAD gt lt HEAD gt The prologue of the doc ument lt TITLE gt lt TITLE gt Title of the document lt BODY gt lt BODY gt Content of the document lt H1 gt lt H2 gt First level heading lt H2 gt lt H2 gt Second level heading lt H3 gt lt H3 gt Third level heading lt H4 gt lt H4 gt Fourth level heading lt H5 gt lt H5 gt Fifth level heading lt H6 gt lt H6 gt Sixth level headin
250. utes Align C 19 Border C 19 Colspan C 19 Colspec C 19 Nowrap C 19 Rowspan C 19 Valign C 19 table tags 6 51 Tables in HTML C 17 tables database B 7 aliases for B 8 B 10 HTML 4 9 ownership of B 7 passing as parameters in PL SQL B 17 PL SQL B 18 PL SQL datatype B 17 stored in cursors PL SQL B 19 TCP IP 1 3 text x server parsed html 4 30 text only browsers C 14 ee eee Logic TRUE FALSE NULL addressing in Java 4 19 triggers B 33 altering B 33 creating B 33 enabling and disabling B 35 Index 8 U Uniform Resource Locator URL C 11 C 13 unique keys B 4 UPDATE statement SQL B 9 URL C 13 URLs C 10 GET vs POST 4 7 interpretation of 4 3 parameter ordering 4 9 specifying PL SQL Agent with 1 13 specifying ports in 4 3 specifying secure connections with 1 4 use of owa in 1 13 use virtual file names 1 4 used in applications 4 2 usernames specified in DCDs 4 5 users schemas and B 7 V variables assigning values to PL SQL B 21 cursor B 15 B 19 declaring PL SQL B 15 in triggers B 35 initializing in PL SQL packages B 32 instantiation in PL SQL packages B 30 vc_array 6 75 virtual file systems defined 1 4 Virtual Machines VMs 1 15 virtual paths 4 3 visibility of PL ar objects and subprograms B PL SQL packages and B 32 Index 9 WwW Web Listener 1 3 Web Listeners control WRBX load 1 12 file type negotiation 1 6
251. w tag into a table Parameters calign in varchar2 DEFAULT NULL cvalign in varchar2 DEFAULT NULL cdp in varchar2 DEFAULT NULL cnowrap in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt TR ALIGN calign VALIGN cvalign DP cdp NOWRAP catttributes gt Syntax htp tableRowClose Purpose Prints an HTML tag that ends a row ina table Parameters none The PL SQL Web Toolkit Reference 6 53 htp tableHeader htp tableData Generates lt TR gt Syntax htp tableHeader cvalue calign cdp cnowrap crowspan ccolspan cattributes Purpose Prints an HTML tag that inserts a table header Parameters cvalue calign cdp cnowrap crowspan ccolspan cattributes Generates lt TH ALIGN calign DP cdp ROWSPAN crowspan COLSPAN ccolspan NOWRAP in varchar2 in varchar2 in varchar2 in varchar2 in varchar2 in varchar2 in varchar2 cattributes gt cvalue lt TH gt Syntax htp tableData cvalue calign cdp crowspan ccolspan cnowrap cattributes Purpose Prints an HTML tag that inserts data into the rows and columns of a selected table Parameters cvalue calign cdp crowspan ccolspan in varchar2 in varchar2 in varchar2 in varchar2 in varchar2 DEFAULT N DEFAULT N DEFAULT N DEFAULT N DEFAULT N DEFAULT N DEFAULT N Gaqaqaqoqcaqac A Ete DEFAULT NULL DEFAULT NULL DEFAULT NULL DEFAULT NULL D
252. w_product GRANT EXECUTE ON show_product TO PUBLIC Of course the public normally does not execute such a procedure directly This statement enables you to use the procedure in your PL SQL code that is to be publicly executable If multiple users access the same procedure simultaneously each gets his own instance This means that the setting of variables and other activities by different users do not affect one another For more information on privileges and roles see GRANT in Chapter 4 of the Oracle7 Server SQL Reference There are three versions of GRANT listed one each for object privileges system privileges and roles For more information on storing procedures and functions in the database see Storing Procedures and Functions in the Oracle7 Server Application Developers Guide and see CREATE FUNCTION and CREATE PROCEDURE in the Oracle7 Server SQL Reference Packages A package is a group of related PL SQL objects variables constants types and cursors and subprograms that is stored in the database as a unit Being a database object a package resides in a schema and its use is controlled by privileges Among its differences from regular PL SQL programs are that a package as such does not do anything It is a collection of subprograms and objects at least some of which are accessible to applications outside of it It is the subprograms in the package that contain the executable code A package has the f
253. which PL SQL is ill suited For example you can combine several graphics from the database into a single image Each region of the image would be a separate button that the user can click and each button clicked would produce a different effect In HTML this is called an image map Using Java on the server you could generate such image maps dynamically with the components of the image being based on the results of a database query To execute Java on the server you use the WRB API to interface directly to the Java Interpreter residing in the WebServer This interpreter finds and executes the Java code and returns the results through the WRB interface to the Web Listener To make it easier for you to develop Java applications Oracle WebServer provides the Java Web Toolkit a group of Java packages containing classes to aid in database access and dynamic HTML generation Using PL SQL Within Java LiveHTML 1 16 Since PL SOL code is actually part of the database you can call it from within Java which enables you to create applications that combine the strengths of both languages Because PL SQL execution takes places in the database doing this does not hinder the portability of the application A PL SQL application can execute without modification on any platform where the Oracle7 Server runs just as a Java applet can execute without modification on any platform that has a Java Virtual Machine VM LiveHTML is Oracle s i
254. wsers Java enabled 1 15 bytecode 1 15 C caching files 1 5 cattributes 6 5 cattributes parameter use in passing exact text 6 5 certifying authorities 1 9 CGI 1 10 environment variables 4 4 4 6 4 31 6 57 executing from LiveHTML 4 32 LiveHTML can call 1 17 variables used by WRB 1 12 changes viewing in HTML document C 15 Common Gateway Interface CGI 1 10 compiler directives PL SQL B 26 compression 1 6 Connect String 4 5 constants declaring PL SQL B 16 constraints SQL B 7 cookies 6 79 correlation variables in SQL statements B 10 in triggers B 35 CREATE FUNCTION statement SQL B CREATE PACKAGE BODY statement SQL CREATE PACKAGE statement SQL B 31 CREATE PROCEDURE privilege SQL B 28 CREATE PROCEDURE statement SQL B 28 CREATE TABLE statement SQL B 7 crippled LiveHTML 4 30 cursor variables PL SQL B 19 cursors PL SQL B 19 in package specifications B 31 D data structures in PL SQL B 17 databases access control 4 5 changing data content of B 8 connecting to 4 5 4 16 connecting to in Java 4 18 constraining B 7 creating objects in using PL SQL B 13 creating tables in B 7 database triggers B 33 interfacing to B 5 missing data in B 6 nulls used in B 6 referencing objects in B 7 removing data from B 9 retrieving data from B 6 storing code in B 13 B 28 B 33 datatypes composite B 15 converting B 15 in OWA_PATTERN 6 66 inheritance o
255. x htp base ctarget cattributes Purpose Prints an HTML tag that records the URL of the document The ctarget attribute establishes a default window name to which all links in this document will be targeted Parameters ctarget in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates BASE HREF lt current URL gt TARGET target cattributes gt Oracle WebServer 2 0 User s Guide htp area htp mapOpen htp mapClose Syntax htp area ccoords cshape chref cnohref ctarget cattributes Purpose Prints an HTML tag to specify the shape of a client side image map region Parameters ccoords in varchar2 cshape in varchar2 DEFAULT NULL chref in varchar2 DEFAULT NULL cnohref in varchar2 DEFAULT NULL ctarget in varchar2 DEFAULT NULL cattributes in varchar2 DEFAULT NULL Generates lt AREA COORDS ccoords SHAPE cshape HREF chref NOHREF TARGET ctarget cattributes gt Syntax htp mapOpen cname cattributes Purpose Prints an HTML tag to specify a set of regions in a client side image map Parameters cname in varchar2 cattributes in varchar2 DEFAULT NULL Generates lt MAP NAME cname cattributes gt Syntax htp mapClose Purpose Prints an HTML tag that ends the definition of a client side image map The PL SQL Web Toolkit Reference 6 21 htp bgsound htp div htp listingOpen 6 22 Parameters none Generates lt MAP gt Syntax htp bgsound csrc cloop cattri
256. xamples Here are examples of how to dynamically generate some HTML text using the Java Interpreter Developing Applications for the Oracle WebServer 4 27 4 28 The following is a basic Java program that produces an HTML page whose title and content are both the famous Hello World import oracle html public class HelloWorld public static void main String args Create an HtmlHead Object titled Hello World HtmlHead hd new HtmlHead Hello World Create an HtmlBody Object HtmlBody bd new HtmlBody Create an HtmlPage Object HtmlPage hp new HtmlPage hd bd Adds a simple string Hello World in this page bd addItem Hello World Print out the content of this Page hp print The following Java code creates an HTML anchor Creates an anchor Anchor anchor new Anchor expire_date new SimpleItem Expire Date 02 96 The following Java code creates an HTML form Create a form object Form form new Form GET http www myhom com wrb doit Create a TextField object and add it to the form form addItem new TextField textfield Add the form object to the HtmlBody object bd addItem form The following Java code creates an HTML table To make this example realistic we have added some user defined functions Some user defined functions Product product getFirstProduct create a dynamic table wi
257. xecuted on the server when the page is accessed e Code executed on the server There are several kinds of code that can be so executed but all of them eventually produce HTML that is sent to the browser as Web pages The Web pages you create will themselves generate URLs that determine what other Web pages are retrieved and what code is executed on the server Therefore you must write your Web pages to generate URLs that contain information that the server needs to find the desired Web pages or execute the desired code These are the general ways your Web pages can produce such URLs e They can be explicitly given as part of hypertext anchors In this case the URL is transmitted whenever the user triggers the hypertext link e They can come from a user typing them directly into a search dialog box e They can come from HTML forms From the viewpoint of the client all of these techniques specify the retrieval of a Web page What determines whether a Web page is simply fetched from the file system or generated by some code executed on the server is the location specified in the URL The WebServer understands that some locations contain files and others reference WRB Services or CGI programs It is the configuration of the WebServer that determines which is which You could say that the server extensions s appear to the client as virtual files Server Extensions 4 2 There are three basic techniques for executing applications o

Download Pdf Manuals

image

Related Search

Related Contents

Conceptronic CLLWAPROSPKP-V1  Manual de Instalación, Operación y Mantenimiento  Instruction Manual    Manual Disponível - Metalúrgica Siemsen  Targus Ultra Mini Retractable Optical Mouse  ストレスのないプリントワークを目指して 使いやすさに  Hightech H667F1GD AMD Radeon HD6670 1GB graphics card  501940000513ENDOWNLOAD    

Copyright © All rights reserved.
Failed to retrieve file