
Oratcl -  Tcl interface to Oracle database server


 * Oracle interface to Tcl
 *
 * Copyright 1993 Tom Poindexter and U S WEST Advanced Technologies, Inc.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose and without fee is hereby granted, provided
 * that the above copyright notice appear in all copies.  
 * Tom Poindexter and U S WEST make no representations about the suitability 
 * of this software for any purpose.  It is provided "as is" without express or
 * implied warranty.  By use of this software the user agrees to 
 * indemnify and hold harmless Tom Poindexter and U S WEST from any 
 * claims or liability for loss arising out of such use.
 *
 *-----------------------------------------------------------------------
 * Version 1.0 July, 1993
 * Tom Poindexter, Boulder Colorado
 * tpoind@advtech.uswest.com  or  tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 2.0 November, 1993
 * Tom Poindexter, Boulder Colorado
 * tpoind@advtech.uswest.com  or  tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 2.1 February, 1994
 * Tom Poindexter, Boulder Colorado
 * tpoind@advtech.uswest.com  or  tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 2.11 April, 1994
 * Tom Poindexter, Boulder Colorado
 * tpoind@advtech.uswest.com  or  tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 2.2 October, 1994
 * Tom Poindexter, Denver Colorado
 * tpoindex@nyx.cs.du.edu      <<<note new address!
 *



WHAT IS ORATCL?

Oratcl is an extension to Tool Command Language (Tcl) that provides access
to a Oracle Database server.  Oratcl adds additional Tcl commands that 
login to an Oracle Server, pass SQL code, read results, etc.  Oratcl was 
inspired by similar tools written for Perl (sybperl, oraperl) but was written 
from scratch instead of borrowing on the work of either Perl extension.

Oratcl was based on my earlier effort with Sybtcl.  The sample program
"wosql" is a direct descendent of Sybtcl's "wisql".


Oratcl features:
  -supports multiple connections to the same or different Oracle Servers
  -sends Sql code or anonymous PL blocks to the server
  -caches return rows from the server for efficiency
  -converts results to strings and returns rows as Tcl lists
  -allows user defined null values to be returned
  -Version 7 stored procedures can be executed and return values accessed
  -accesses column names, lengths, and datatypes of rows & return values
  -provides feedback of Oracle messages and codes
  -reads/writes long columns to files
  -commit, rollback, and autocommit options



ACKNOWLEDGEMENTS

	John Ousterhout (ouster@sprite.berkeley.edu) for Tcl and Tk -
	    wonderful software in my opinion.

	Karl Lehenbauer (karl@NeoSoft.com) and 
	    Mark Diekhans (markd@Grizzly.com) for Extended Tcl -
	    more good stuff.

	Michael Peppler (mpeppler@itf0.itf.ch) for sybperl, which gave me
	    the inspiration to write Oratcl.  

	    ("I tried Perl, but never inhaled." - Tom Poindexter)


REQUIREMENTS

Since Oratcl is an extension to Tcl, you should already have Tcl, or be
prepared to get it via Ftp [sites listed below].

Of course, you must also have access to a Oracle Databaser Server.  
Oratcl must be linked with the Oracle OCI libraries.

I normally build Oratcl with Tcl, Extended Tcl, and the X11 Tk widget set
yielding tcl and wishx interpreters.  Oratcl is written with no dependencies
other than Tcl, so it should be possible to link it with the the minimal Tcl
library.  (Although Oratcl uses "handles", I didn't rely on the handle 
functions provided by Extended Tcl.)


The specific software versions I used:

	Tcl - 7.3             ftp.cs.berkeley.edu:/ucb/tcl/tcl7.3.tar.Z       
	Tk  - 3.6             ftp.cs.berkeley.edu:/ucb/tcl/tk3.6.tar.Z       
                              ftp.cs.berkeley.edu:/ucb/tcl/tk3.6p1.patch
	                      also avaible at 
			      ftp.aud.alcatel.com:/tcl/ftp.cs.berkeley.edu

	Extended Tcl - 7.3b   ftp.aud.alcatel.com:
				/tcl/extensions/tclX7.3b.tar.gz

	Oracle OCI libraries -                       $$$    from Oracle 
	Oracle SQL Server - Version 6 or Version 7   $$$$$$ from Oracle 

>>>>>>>	I've put oratcl-2.2.tar.gz on ftp.aud.alcatel.com as well
        in /tcl/extensions/oratcl-2.2.tar.gz

	see the newsgroup comp.lang.tcl for general Tcl discussion and
	the Tcl Frequently Asked Questions.


I've built Oratcl in SunOS 4.1.2 (BSD), DG/UX Release 5.4.1 (Sys V.4), 
and Sequent PTX 2.1 (Sys V.3.2) environments.

Other users have reported successful compiles on: 

HPUX
Sun Solaris 2.3

(mail to me on a successful port on other platforms; I'll add to this list)


SAMPLES

Some samples are included using the Extended Tcl tcl(1) and wishx(1)
interpreters.    In particular, the "wosql" (Windowing Oracle SQL) program 
is a handy replacement for Sql*Plus for ad hoc queries.  Wosql does not 
attempt to provide any of the report generating and formatting 
capabilities of Sql*Plus.

See ./samples/README.samples plus each file's comments and code.


MAN PAGE

You're in luck! I've written one.


BUG REPORTS

Comments, suggestions, et.al., should be mailed to me at the above email
address, or posted to comp.lang.tcl if general enough nature.  
Hell, you can even mail to me if you like Oratcl!

Mail bug reports to:	tpoindex@nyx.cs.du.edu

Please always include: 
        -version of Oratcl
        -version of Tcl, Tk, and TclX
        -version of Oracle server and OCI libary
        -version of your operating system
        -compiler used, stock cc or Gcc
        -samples of SQL or Oratcl code causing problems
        -relevant database table definitions, views, procedures


INSTALLATION

See the file INSTALL.  GNU Autoconf is used to generate the Makefile.
Old makefiles are in ./oldmake/*, in case you have any problems with
configure.


OTHER

See the file CHANGES for changes in versions of Oratcl.

-finis-

