Professional Documents
Culture Documents
Accessing Relational Databases From The World Wide Web: Tam Nguyen V. Srinivasan
Accessing Relational Databases From The World Wide Web: Tam Nguyen V. Srinivasan
Relational
Tam
IBM Santa
Databases
Nguyen
Teresa Laboratory
from
V.
IBM Santa
the
Srinivasan
Teresa
World
Wide
Web
Laboratory
555 Bailey
Avenue
555 Bailey
Avenue
Abstract
DB2 WWW With Wide the growing Web (Web), popularity there of the internet systems (DBMS) and the World for access the Web. from
Wsb Browssrs on Multiple Plsfforms m DBZF=WY
Overview
is a fast growing
demand
to database We describe gap between Web, and cess relational pose variable language and SQL and HTML forms
management
here techniques that we invented to bridge the HTML, the standard markup language of the SQL, the DBMS. substitution variable strings thus capabilities variable design Connection An standard query language a flexible that between as between used general HTML result to acpurcrossinput rows We propose mechanism as well enabling substitution
provides SQL
query
output
to use the full cross-language used in the DB2 from tions WWW struction
Av P----_ [
and reports,
and SQL
for queries
DS212
and implementation
Figure
1: The
World
Wide
Web
easy conapplicato naviby web server that can on (URL), is http: to products be the accessed Web ibm. from using corn. a any other for the home
of applications
access relational
the Web.
and resulting
location
world-wide
uniform This
reports.
and clicks
resource
IBM page and home can
locator
page be existing used
the URL
as determined
provide
1
The
Introduction
World Wide Web (Web) the and is fast internet the Figure together have in tens has 1 becoming due ubiquitous illustrates using the realized Web, to the its most easy how World that way of accessing interface protocol. are Many enormous to grow connected universities, potential exponentially makes a
regarding
services, from
popular to use
feedback like
matters
graphical
HTTP
product
communication workstations Wide and there since and Web. business is an the continues
Business database retrieval precisely, typically 1. Create 2. Extract access read 3. Format report 1 HTML
markup Web page. page
almost system
storage
organizations already
accessing
internet
form
for
the
an organization public by
accessible page
HTML from
fill-in the
maintaining
home
1s possible mto
Permission to make digitalhard copy of part or all of this work for personal or classroom use is granted without fee provided that capies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication and its date appear, and notice is given that copying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. SIGMOD 96 6/96 Montreal, Canada 0 1996 ACM 0-89791 -794-419610006.. .$3.50
a desirable
is
the
description is essentially
every HTML
529
4.
for in the in
to
the
DBMS
and
3. The
full
power to the
of
pages,
hyperlinks assumed
application
have
a visual
Web pages
page
accessed files
(i.e.,
to construct of SQL
stored
including SQL
to dynamically user input pages [CG195]. executable the URL to the Web client. in Section for DBMS from and called The provides
Web
as the dynamic
queries
access.
Indeed,
DBMS. transferring the user) the for variables SQL result the query (i.e., for a report
a standard
creation
gateway
enables from the and
interface
the Web calling server client
CGI
queries) query must HTML 7. Allow forms, reports. We Web layout dard dard To pose stitution in
is accessing form
by a Web
substituting report
to redesign
formats queries
CGI
is described in Figure
additional from
4.) that
possibly
approach a DBMS
is to implement
a stand-alone
program as a the
solution
accesses application
a URL.
approach
followinc
disadvantages: programmer details the CGI has to be knowledgeable and the DBMS or programis affected the DBMS datasit less outCGI protocol The in
1. the application of the ming by API. 2. The HTML text and any
[SQL92]. we pro-
bridge
between
interfaces. change
application
program
substitution variable query HTML substrings output, full and forms The
enabling
application
to use the
capabilities applications new output the useful will to produce to newer like HTML Changing changes logic and to the reports, substitution eral (and PERL sively a client-server logic statements SQL known will efforts based exactly be executed might environment they typically on user dynamically what (or before inThe mentation that that enables access and can has communicating and easy to switch HTML versions 3.0 which an apcode ac-
it is not
we describe
is now even 4. Many have need put how the like against
beginning though
[GERM94]
be extended
to be used SQL.
database
however,
unchanged. or no application
cross-language of a system and relational developer and server. These stores and macros run-time may WWW points
substitution in the design DB2 data in files WWW from the forms (called are used within by the DB2
mechanism and impleConnection of applications Web. and macros) to link the The SQL at the same Convarious forms user of for out and
mentioned
has been
statements
application commands, the Web SQL macro. nection visual and for these the
provides
To implement
the formatting
Embedded the
variables HTML
to write code to generate output a general purpose solution to Web applications following any in that access to characteristics approach
commands
forms Since
DB2 WWW
WWW
a DBMS.
has the
necessary
building
creation query.
applications that access a DBMS. New applications must be easy 1. no significant 2. Applications with new shielded from HTML coding must effort be easy versions. changes should
to build,
be involved. they
forms forms
A user fills
to the
protocol.
as determined
by the application.
530
of the how to
the
paper CGI
is
organized architecture
In
Query
</TITLE>
Information</hi>
are
METHOD=
ACTION=
Section DB2
variable
describe
what the
Section
DB2 security,
handles pages,
<IIJPUT
6 describes Finally,
related
NAFIE=USE-DESC
I I
relatively conclusions.
in Section
7 we present
2
Figure
World
using Web
Wide
the
Web
a typical Internet (a.k.a with
Fundamentals
distributed connect http client to server daemons), using Web the computing systems systems Web http to
<br> <SELECT NAME= DBFIELD VALUE= VALUE= VALUE= url>URL title Title [desc!l>Descript MULTIPLE> <DPTION <OPTION <OPTION </SELECT> <hr> Sho~ <INPUT <INPUT <p> <IIJPUT <INPUT TYPE= TYPE= submit reseti VALUE= VALUE= llSubmit Reset Query> Innutll> SQL statement radio VALUE= VALUE= YES> Yes No radio CHECKED> on output? TYPE= TYPE=
1 illustrates
clients servers
Web
(a. k.a
communicate
of designing
applications of
NAKE=SHOWSQL( NAI$IE=SHOWSQL
to have knowledge Web, client the (ii) web the for methods
used
to pass
Web in page
to the
server, writing
available
create
dynamically. Figure of operations the types images, [GOSL95] might the users server 2: A Sample displaying can actually other video, than and, HTML input Form Note client that (e,g JAVA client data to viewer server start
Steps
in Using
pages that An
a Web
based with enables application, may
Application
consists a user access of a sequence input a certain providing to on interactive from a URL Web of
basically start
commurucate
special
of data voice,
lately, such
page the
on the following
therefore, be repeated
which
use viewers
of times
in a single
application. client (e.g,, Mosaic, a URL. address at that server of a host to and the 2.2 host with Netscape,
1. A user fires WebExplorer) 2. The (and port. following (a) the URL Web a port The
on accessing process
uses with
is present
in the URL
chckmg
another
communicate
provides
Variables input how This form The the this HTML contains and variable user, the are used to select user need the form form form to define six is given appears has input input in Figure to 2 and
information: itself, portions the for in of which Web HTML an page are used by the
and on
a user
server (b)
to be returned variables instantiated password client mode). variables a Web page or and if
INPUT
to the client, user provided the URL was Web other other Web
SELECT sections input already for the get types view, a flag. page received display form mechanism input. in the defined
(c)
client, (e.g.,
and an encrypted if the Web in a secure and to client. the Web get input at
NAME parameter. text input and from that the the the
USE-TITLE, is used
USEDESC user
uses the
the Web
URL client
back
to the
that
client server
parses and
(as in Figure
3) does
performs
appropriate
of setting
merely
531
DB2 Www
DB2 WWW
DB2 Dalabase
UR1=!q,.bnldOtil<mzml#e>lrqn [w*!e18w2:VJLw.]
Figure
3: A sample
Web
Page
and
clicks and
various submits
text clicking
in
Figure
4: The
Data
Flow
Using
the
CGI
Interface
box button
query
client by Web a prethat value to the Submit protocol process that the Web CGI the URL. client will while server In start passing received addition, Web using data Figure 4. where twice other the CGI application new the of into process Web the input and as a separate the user- input along . with sent in the by the to a previous to this from all server to fit the flow In
then users
package screen
These
inputs
client
to the
section)
is formatted
passed
named =
=
application The in
environment protocol two program inputs. program different called Note can be is
the
CGI
figure, different
an executable
DBFIELD passed where a variable are treated is what can which are client multiple this we make made values to the from is
SHOWSQL = When variables are Web and value the on the be variable, the When server, the case as the variable since SELECT multiple by the null case string the box user to 3), the where DBFIELD
4, any
executable
of DB2WWW. program the HTML being input variable and and and its finally by the run as a CGI from the the the the applithe appliany outis Web CGI variables performs generates CGI client to construct after
a variable
is not
WERYsTRING the
accessing
manipulating
output is sent
application
selections Web
DBFIELD Web
Figure
server
3
Generation enable dynamic the of Web pages of Web by Web URL. pages, users When of what the CGI The creation can be used in (i.e., the the
Cross-Language Substitution
key a SQL challenge DBMS of SQL these to write is languages. and in in to
Variable
writing In their can to Web applications both simplest can be utilize quite be easily their HTML the forms, complex that HTML
basic
provides an with as a
common
that that program
gateway
interface
access and
understand HTML
protocol
presented program),
contains that
the name
application server
executable
implements
Fortunately,
are existing
532
and
SQL
query application
tools
that
can
help to SQL be
to and
greatly SQL. to
3.1
Variable
Section for one of two (e.g., valued using purposes: (b) to can etc.). section that have
HTML and
able
assign
variables
existing a
characteristics
macro sections
a conditional
includes together mechanism. mechanism described defining HTML DBMS The teristics:
Variables which
in macros
a DEFINE
contains
one or more
define-statements
variable
2.2 by as support
providing well as
define-statement
variables variable
existing
input
in novel
to construct
a conditional or an executable
assignment, variable
extra the
by the HTML
queries
updates
against
database. 2. It is sufficiently that flexible do not for a variety extensive of Web appli-
Simple variable
simple
cations logic.
require
programming
with
string. of
a letter
followed
portable written
to multiple on one
server system
platforms. works
In
underscore(-).
a macro system.
as is on
is usable query
with tools
existing
Web
HTML
editors
and
value-string-on-one-line %} a variable that that in variable referenced to varl to get might will be
DBMS A macro
= {value-string-on multiplelines string assigned to client can other or using be variables variables the CGI itself to can be input (as to contain in from well get
of
SQL
and
HTML Each
The the
references the
defined A variable
typically more to
types
sections variables
can the
be used
define
manipulate
referenced a
other
of a macro)
expression value string required . abc string variable, $. the runthe in at from illustration
in this
more one
that
each
(optional)
variables
user-defined 3. An input 4. An that Each the or are prefix more marked The or lower except that HTML variable HTML
of
be the be
value
that input
used
to
should evaluated
another
generate
from
executing
statements
%DEFINE escape to
a =
mechanism unnecessary
in extremely
%SQL),
hide
application
used for
program
the syntax
notations are
descriptions
section
case
the
insensitive
names cases the like names. macro the
case
In the
implicit language
G G G G
[...]
parts
inside
[1
appear
once
or O
not more
at
aH times
[...1* - part
A I B choice
section,
we will
in detail using
illustrating
use of these
example
macros.
of this, Circular result Simple default define name 3.1.2 syntax: (a)
example among
application variables
in
example,
that input
are not
interface.
When
the
gets evaluated is explained used in the From value variable to the such
for
evaluation
like
of whereclause it is clear first the containsecond If the 10100 and following bikes% is a concatenathe
database,
userid,
definitions,
Conditional varname
Variable = testvar
is a list
variable
ing
a reference
and prod-inp.
tring2
(b) (c)
varname varname
= ?
cust.inp to the
= testvar
where_list
LIKE _name
= ? {value-string-onmultiple-lines%2assigned to a conditional on whether and (c) above, iftestvar with other other $(varname) exists variable aredeissubstiand isnot at
LIKE bikes% string of the varito null custid enough strings are and =
timeis with
dependent value-stringl it
variables
able iOiOO
In cases
list
is intelligent
The
evaluvaridefined
dereferenced
In cases
value-string
value
any undefined is set to null. 3.1.3 syntax: %LIST A hst with the List
(or null)
variables,
otherwise
of where In other
evaluates using
Variable
Declaration varname in the DEFINE Multiple will in in turn we can conditions in the for The be value between. have for assigned
QUERY_STRINGis
string.
be no WHERE
statement
constructed
value-separator variable is declared list to with (%LIST) this the list property. variable can hence example or
OR
program
passing
contain
of variables
defined
in the
varying from searches). returned list default clause variables the SQL
is to get
syntax: varname The output Section the error, = %EXEC commandstring gets the code, in set for to printing executed in an SQL if varname. NULL can of variable each HTML report any, If be error time input block there used or (see from is no to with Guide
performing
default, an HTML
command-string is encountered including The will variable a detailed Section error be is returned An executable section, 3.2. 1). varname
$ (varname)
variable lists
the comma
resulting (equivalent
conditional input An
execution
to construct example
clause
on an HTML
is shown
messages
DB2WWW
Application discussion).
Developers
AND
= ?
3.2 syntax:
SQL %SQL
any-validon-mult
[ %SqL_REpORT{
534
[ %SqL_FIESSAGE{ %3
A macro each section file may containing against format here) with SQL the
. . . %}
1
SQL SQL A SQL (we sections, command section only may Note SQL exact after with to can for
The printed
in row report
the
ROW
is as
contain
multiple one
the
column
each block
exactly database,
column for
use inside
be executed be of a line block ally tain SQL contain can the SQL and block) The when only HTML section may and/or SQL formats be named a valid command
formatting
format SQL
current
row
number
being
section line.
a unique
ion-name.
value
of the
ith
column
retrieved
specified therefore at
by the run-time
section SQL
in the
3. v-column-name column retrieved 4. VLIST nating The the is data named by the - contains the values footer, block, have
this
the that
value column
of
the was
evaluating
in Section SQL
command
a SQL
message in the
report
commands report
SQL
sections
ROW rows
section
(!!HTMLJEPORT
been can be
reports
in Section by an
3.4). exe-
RPT-MAXJtOWS number variable is being block number whether of rows fetched. has all SQL SQL been rows of rows
limit
SQL and
executed SQL
command
directive) execute
a corresponding section.
total of
(%EXEC_SqL(sql-se report
directive)
regardless
SQL
report
Report
block
Block
3.2.2 maybe report SQL written formatting query. inside a SQL section The message of error of a SQL DB2WWW . Input Section section tomization as a result fer to the or warning command. Application be printed details, reMessage of data The format resulting of the
provide the
custom associated
from
below:
more
Developers
Guide
[D2W95] (any name from query ext, value with column as each name %1 The form (any valid html before names which before variables SQL ith text) the is any the SQL columns HTML block first for the block row report are text (%ROW of table for This valid variables html text) , 3.3 syntax:
HTML
any-valid-html-t and row %3 report-f %} The block retrieved. in the SQL section), data are SQL ooterquery report block printed Special for use the be column is
variables
fetched
the the
HTML query.
is required
to form 3.4
query. Section
preceding
is fetched. available
inside name
[ %EXEC_SQL(sql-section-n=e-or-variable)
any-valid-html-texton-multiple-lines
purposes: of the retrieved SQL query, - is set if a column is retrieved a string names by the that query,
1. Ni contains
2. N.column-name column-name 3. NLIST nating the contains
[ %EXEC-SQL
on-multiple-lines
any-valld-html-text-
is created
by concate-
..
of all the
columns
retrieved.
535
report
form
..................................
Www
~Application
~
bnirk ,.,
Development
the
execute
SQL
All with
(%EXECsQL). the in the run-time variable sections HTML report valoverof the
>
: :
is processed.
deference
r .
.=
-De-.
.<?
(Note
QUERY-STRING DEFINE
default
in the
macro). When tion port name section, an execute %EXEC-SQL all in be SQL command with no SQL HTML secre-
is encountered SQL
in the are in
sections
the
at
most
report
command tered, SQL The mand enced lowed, tion user time. The directive or the to to the
in the correspondingly
named 2. <FORM METHOD= post http: [{web-server}] {macro-f {web-server} by web macro application existing be used macros. {cmd} If cmd is either input is report, input section the or report. of macro-file HTML report HTML DB2 WWW the Web input variables If cmd is input, is processed. section input of variserver. variget the HTML the W WW and optional {macro-file} ACTION = [. exe] . .I / /cgi.-bin/db2www ilel/{cmd3 name [?name=valk. of web server This of the file 5 query to
(%SQL(sql-section-narne)) name stored time; This for the named in e.g., feature SQL a variable %EXEc5QL($ gets can deference be used to to execute that be
section
>
is
where
$( sqlcrnd) which
administrator. is the name the DB2 As and of name the WWW Figure SQL
default
command
server. is the by developer. HTML by editors storing Connection illustrates, tools create can new defined
and The
after to other
a from
%ExEc~QL
pages executing SQL section
HTML
results
SQL
section
(each
an application
developer
has exactly table section. for printing substitution 4 Using section these variety DB2 used IBM DBMS in format
If a SQL
desired
result
variables
as specified
report
section.
DB2
the
WWW
macro and and to
Connection
language build implemented provides The DB2 described Web support that a system to we in the that previous processes a wide is called it can be of variety non-IBM system is using DBMS applications, access built and on a wide as other
Connec-
tion
See Section ables passed When client db2www and the like (or to the and pass {cmd} and
we designed
DB2 WWW. URL it from will the HTML using above) a Web start application values input either or the of In the
DBMS. IBM
system
(DB2WWW) databases as well The in the executes figure, from client. 2.3.)
described parameters, server values interface these purpose ) Figure input mode two of will to
above,
non-IBM
db2www. and
as a CGI namely
overview
of the
respectively.
the CGI
interface
a Web (The
CGI
interface can be
DB2WWW ways:
(case 2. above).
(Knowledge discussion
an HTML
in one of two
of interfaces
6 illustrates ({cmd} =
http:
report).
536
Macro
in
Input
of
%EXECSQL
three
types
of execute Executing
SQL a
on a macro variable
statements SQL
3.2).
sections of the
command
(DEFINE macro tively). (including completely input The ents data strings a variable HTML The output i.e., end. section is, except the form and referenced using variable position its appear mode.
1. Constructing
dereferencing mand string) command. 2. Create If no section result tion ables and is exists, are the for a report SQL
be
(by comSQL
3.1 and
variables preparing
referenced and
executing
message
sections)
ignored
(skipped
by DB2WWW
for
the
result
of the
SQL for
report
section
is available a default
sections
are
of define
statem-
being printed.
processed, If
format report
stored not
a SQL system
structure.
right
hand for
then
appropriate
supplied
of a variable
is (recursively) input section. in the the same HTML order text any the fact
dereferenced
is evaluated
text in Any
input that
of the in the
macro macro,
is
retrieved
printed. error handled error or warning by message in executing and defined a SQL printing in the command a warning message error DBMS
to input as are of
in an HTML patterns
evaluating string
referenced
variables
a SQL
if one exists,
or by printing
their
leading
$ stripped variable
as $ (varname
output.
Runtime a DB2WWW
assignments in Section
a DEFINE
section
as de-
occurs macros
in the text
of the HTML from defined HTML undefined to the null formatting example of this 4.2 When type Macro the top
section. bottom,
of
HTML variables
forms
SELECT in by
in earlier input
DEFINE
through for an in 3
Section
user
inputs
forms,
dereferencing
TYPE= hidden
merely
See the
section
variables the 3.2. 1). of the value until space defined variable priority itself
that values
are from
set query
in Appendix
an illustration
results The
(Section
key features hand evaluated the the name input user) in the variables side
DB2WWW are lazy strings the in latest the of the values than using
Processing
is invoked except than
in Report
in report
Mode
mode, report input part section section. produced in the a SQL SQL SQL SQL of the mode gets In
substitution (the are with the (i.e., defined 4.3.1 As right not
mechanism
evaluation
in the input
HTML
section
are applicable in the HTML HTML statement sections sections to the in the Exactly an
higher macro
variable sections.
DEFINE
In addition
processing
processing Each
Lazy
previously (e.g., are they
Substitution described, ZDEFINE dereferenced are need form or report to be time the or the at the Consider a variable varx =. may . . contain $(var2) with the either other
statements and
(substituted directly where out report. printed of their example section, HTML
referenced
or indirectly
input input
of the SQL
variables dereferenced
section
are processed
Variables
execute
statement
is determined
%SQL sections.
537
DB2 Runtime
Www
Flow Control
An DB2
Application Connection already such page input are named product been on built. has been and Appendix macro in We in this released several the A. using 7. user form report to the the the SQL CGI macro the report further on to queries
platforms
applications
provide
invoking
selections button
When
Submit
on the
mode, users
HTTP/HTML Common Gateway Inierfece (CGI) Dynamic SQL
selections the
passed executes
to
Figure
6: DB2
WWW
Runtime
report
%defi.ne Xciefine $(x) %1 %define Variable When defined, null. not One but Two
X = Y =
One$(Y)$(Z) Two
data calls
the other
user could
proceed
in further
%FITML_INPuI~
to DB2WWW
or be any
URL).
5
Since Z = Three to variables Y and Yisalready to blank One Two and Z. had
Some
to tackle
Practical
is a fully that Web. various system the for
Issues
supported issues issues are important These character support, IBM during include support product, the in developing support for inwe develpractical
theHTML Thus,
is equivalent is a leading
objects,
multi-byte
languages,
transaction
and security
character
supports
modes mode in
interaction, in and macro a macro another are will variable multiple on future. any
input is are
variable invoked, to that Figure 4 for as a simple processes the to to it assignment HTML other the simple
processing a number DB2WWW through of the format of HTML the treats the how
which all
statement in (i.e., fails). the for are modes does with internet. a For
transaction SQL passed DB2WWW is passed assignment as such. statement input variables values it input list variable can variables is also variables example. is the comma variable using single SQL types scheme rudimentary interactions. complex While measure, server, access this to the The and and over
(auto-commit) statements
transaction statement of of transactions, DB2WWW scheme We transact DB2WWW it works the the ion
a rollback executing current enables linking working in the not the products For Developers
QUERY-STRING interface
environment (see
variable.
var=value-string are passed) 3.1.1) and of a simple to variables, references In using list the variables delimiters 3.1.3). lazy variable variables relating as part substitution processing from the implementing multiple of the addition CGI be parsed
substitution client-server
implementation supporting
variables (Section value-string references can needs passed have end this default (Section The input hiding and web abasisfor
statement Since, can and that possible (See ) (,), the have value hence are
variable
provide DB2
new
contain to
before
be correctly
firewall practical
to provide
secure details
computed.
and
other
considerations
please
see the
Application
[D2W95].
of Section
2.2 for
Related
have been governmental applications to automate process. [GSQL]
Work
various efforts, mostly from tools universities for These creating efforts developagencies, that or simplify to develop databases. the
can be overridden
declaration
and also
the
access
be used features on
application
application
cursors,
GSQL language
uses
lanGSQL and
which
is a hybrid
same
application
is simpler
than
538
Query
Enter a search parm)lar field
URL
Information
URLS You do not need TOspecffy the snt!revalue or ibm for a use lb lr,stead
URL
Select Use the above searcn sting In which of the followng
Query
Result
to go to the spectf$ed U RL
be displayed
Other pages
OTInferest
Figure
7: Application
Input
Form
Figure
8: Application
Report
Form
the
new
language This
blurs
the
line
these
two
(as the
in
the
scripting language
guages. its
PL/SQL
method
databases.
use of SQL ports. WDB definition engine. definitions definition The HTML forms provides report contain layout. and WDB
Furthermore,
7
We Web
Conclusion
have that described of developing access The variable Based data basis on in this stored of this our paper in a new, on the commercial is we between have easy World a novel to use applications solution scheme scheme, called the use Web of the scheme by the fact using on the feature scheme versions our these The scheme well versed is of in in the solution HTML forms accessing In the and and and future, variable for Wide cross HTML designed that has
is no mechanism
custom
of query
method [WDB] file The FDF contains generator two components: and to the WDB table extracts build a run and form time field form fields. the report and files form query (FDF) generator DBMSS. language and and The cross paper are
relational
substitution
a database contains time forms, the engine the FDFs. the about has
SQL.
DB2WWW (in beta general described that by cross full HTML SQL their work macro
run on to
already
versions). purpose in scores language for SQL. for form for HTML, and this of
SQL
substitution to built
applications
inputloutput limited
Besides,
very
report
capabilities. scripting databases. using these languages, can Perl be such ex-
(and feature
[G ERM94],
extremely
developers system.
of a programming
language languages
we support
developers is rather advantage the input relational for building full and
procedural
interfaces. [PL/SQL], HTML output mechanism the PL/SQL output stream. familiar with a simple for building applications
requires is
at the for
stems the
provided
to send
stored procedure back For the programmer PL/SQL, way Web to the output new
designing
power to
available
library into
results
substitution databases
applications.
However,
applications
539
and
processing
engines
other
than
DB2
A
Idef
An
ine{
Example
CELDIAL
Macro
File
References
[ADOB90] ence Manual, 1990.
The UrbanaCommon Champa~gn, Gateway Interface, Unwersztg of
DATABASE= dbtbl = = = =
urldb OR L_ II$FO ? LIKE ? LIKE ? I$(sEARcH)%-11 : %$(sEARcH)x11 : IfII USE_URL .UX1 USE. title USE_DESC description = ? WHERE DBFIELDS TITLE
Adobe
Systems,
Postscript Publishers,
Language ISBN
Refer0-201-
%LIsT L_ II!IFO
Addwon-
Wesley
LIKE
$( L-IIJFO)
L$(SEARCH)%
http://hoohoo.ncsa. (DB2
<br>$(V2)8 <br>$(V3)
D3 x}
Corporatzon,
http://service. 1995.
H.,
so ftware.ibm.com/ pl?/dernos-pdocs/
(0 S/2 2.1 Rexx Handbook, Van
%SQLi
SELECT FROM Select
url, $ (DBFIELDS)
$( WHERELIST) . . . to the
ORDER specified
BY
ISBN
J., and A White
0-442-01734-0,
McGilton, Paper, H., SUN
1994.
The Java Lan-
[GOSL95]
guage
Environment:
Macros ystems,
ft.com/whitePaper/ .html,
GSQL
1995.
Database Gateway,
NCSA,
%HTMLJNPUT{
<TITLE>DB2 <IMG <Hl>Query <P> <P> <FORM HETHOD=post wwu. <INPUT search checkbox [[checkbox tcheckbox . . . in the string . ..> . ..> . ..> exe/urlquery in which .d2w/report''> VALUE=l\ibll> of the following: F? AME=SEARCHII Enter WWW URL URL a Query </TITLE> iflu>u> URLS . . . SRC=/iconheadldg search
Kernighan,
Language,
Prentzce-Hall
ISBN Publishing
O-
L.,
Teach
Sums
ACTIOIi=''/cgi-bin/db2 Search Use the <IIJPUT String: above TYPE= TYPE= TYPE= If
a week,
O-672Form
2.0
Fill-Out
of Ilhnou,
uiuc.edu/SDG/So
report SIZE=2 a)
?JAME=DBFIELDS14 VALUE=$$ VALUE=$$ <P> TYPE= TYPE= TYPE= TYPE= <HR> pages of interest: <HR> on statement radio radio submiti reset (hidden_ (hidden_b)
TutoriaY,
Urbana-
output? NAHE=SHOWSQL NAME= SHOWSQL VALUE= Submit Reset VALUE= VALUE=> Query Input> i> YES> No Yes
VALUE=
http://www.oracle.com, 1992. L.
Web Addzson1995.
. . .
%3 D.,
Site: Wesley (How The
%DEFIIIE{ hidden-a hidden_b = = title description
Information
0-201-
Publishers,
World Wide
ISBN
Web
%} %HTML.REpoRT{
[S TE195b]
Frequently
Stein,
Asked
L.
D.,
(The
Security
<TITLE>DB2
Query </HI>
Result< .gif>
/TITLE>
Questions,
Institute
of
<IMG <HR>
SRC=/iconheadldl
<H1>URL %EXEC.SQL
Programming
Lan-
Publishers,
ISBN
PERL,
0-201-12078O Redly
[WALL91] Associates,
(Programming
&
0-937-17564-1,
540