
Sybtcl -  Tcl interface to Sybase database server


 *
 * Copyright 1992 Tom Poindexter and U S WEST Enhanced Services, 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.1 August, 1992
 * Tom Poindexter, Denver Colorado
 * tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 1.2 October, 1992
 * Tom Poindexter, Denver Colorado
 * tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 1.3 May, 1993
 * Tom Poindexter, Denver Colorado
 * tpoind@advtech.uswest.com  or  tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 2.0 November, 1993
 * Tom Poindexter, Denver Colorado
 * tpoind@advtech.uswest.com  or  tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * Version 2.1 February, 1994
 * Tom Poindexter, Denver Colorado
 * tpoind@advtech.uswest.com  or  tpoindex@nyx.cs.du.edu   
 *
 *


WHAT IS SYBTCL?

Sybtcl is an extension to Tool Command Language (Tcl) that provides access
to a Sybase Database server.  Sybtcl adds additional Tcl commands that 
login to a SQL Server, pass SQL code, read results, etc.  Sybtcl 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.

Sybtcl features:
  -supports multiple connections to the same or different SQL Servers
  -provides "nextrow" processing for regular and compute return rows
  -converts results to strings and returns rows as Tcl lists
  -allows user defined null values to be returned
  -stored procedures can be executed and return values accessed
  -accesses column names, lengths, and datatypes of rows & return values
  -provides feedback of SQL Server and DB-Lib messages
  -reads/writes text or image datatypes to files


Sybtcl does not:
  -perform row buffering or browse mode
  -bulk copies
  -support two phase commit on multiple servers
  


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 Sybtcl.  

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


REQUIREMENTS

Since Sybtcl 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 Sybase Databaser Server.  
Additionally, you must have the Sybase Open Client (aka "DB-Library") package 
that provides header files and object libraries;  Sybtcl must be linked 
with libsybdb.a.

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


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
                              also avaible at
                              harbor.ecn.purdue.edu:/pub/tcl/sprite-mirror/

        Extended Tcl - 7.3a   harbor.ecn.purdue.edu:
                                /pub/tcl/extensions/tclX7.3a.tar.Z


	Sybase Open Client - 4.6    $$$    from Sybase 
	Sybase SQL Server - 4.8 SMP $$$$$$ from Sybase 

>>>>>>>	I've put sybtcl-2.1.tar.gz on harbor.ecn.purdue.edu as well
        in /pub/tcl/extensions/sybtcl-2.1.tar.gz


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


I've built Sybtcl in Sequent PTX 1.3 (System V 3.2) and
SunOS 4.1.2 (BSD) environments.

Other users have reported successful compiles on: 

(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 "wisqlite" (Windowing ISQL) program 
is a handy replacement for Sybase's Isql in an X11 environment.

Also, De Clarke's enhanced wisql is included in ./samples/uco/*.  A very
nice query tool to give to users who haven't learned SQL.

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 Sybtcl!
(If you mailed a bug report to me and I didn't reply, I didn't get your
email or your return address didn't make sense to my mailer - I always
reply to non-flames.)


INSTALLATION

See the file INSTALL.  Two Makefiles are provided, for building Sybtcl
with standard Tcl or Extended Tcl (aka TclX).


OTHER

See the file CHANGES for changes in versions of Sybtcl.

-finis-

