
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.0 June, 1992
 * Tom Poindexter, Denver Colorado
 * tpoindex@nyx.cs.du.edu   
 *-----------------------------------------------------------------------
 * 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   
 *-----------------------------------------------------------------------
 * Version 2.11 April, 1994
 * Tom Poindexter, Denver 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!
 *-----------------------------------------------------------------------
 * Version 2.3 August, 1995
 * Tom Poindexter, Denver Colorado
 * tpoindex@nyx.cs.du.edu  
 *-----------------------------------------------------------------------
 * Version 2.4 April, 1996
 * Tom Poindexter, Denver Colorado
 * tpoindex@nyx.net
 *


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.

Starting with version 2.4, Sybtcl support building a dynamic load library on
systems that support dynamic loading.  If you build static libraries and
executables, I recommend building with Extended Tcl.

The specific software versions I used:

        Tcl - 7.5             ftp.smli.com:/pub/tcl/tcl7.5.tar.Z
        Tk  - 4.1             ftp.smli.com:/pub/tcl/tk4.1.tar.Z
                              also avaible at
                              ftp.neosoft.com:/pub/tcl/mirror/ftp.smli.com
			      and 
			      http://www.neosoft.com/tcl

        Extended Tcl - 7.5.1  ftp.neosoft.com
                                /pub/tcl/tclx-distrib/tclX7.5.1.tar.gz


	Sybase SQL Server - System 10 $$$$$$ from Sybase 
	Sybase Open Client            $$$    from Sybase 

>>>>>>>	I've put sybtcl-2.4.tar.gz on ftp.neosoft.com 
        in /pub/tcl/extensions/sybtcl-2.4.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), SunOS 4.1.x, Solaris 2.3,
and HPUX 9.x/10.x.

Other users have reported successful compiles on: 
IRIX
AIX

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


OTHER DOCUMENTATION

The directory doc contains a draft of a chapter I'm writing on Sybtcl
for an upcoming book on Tcl extensions, to be published by O'Reilly &
Associates late summer 1996 (?).


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!

Mail bug reports to:        tpoindex@nyx.net

Please *always* include: 
	-version of Sybtcl
	-version of Tcl, Tk, and TclX
	-version of Sybase server and DB-Libary
	-version of your operating system
	-compiler used, stock cc or Gcc
	-samples of SQL or Sybtcl code causing problems
	-relevant database table definitions, views, procedures


INSTALLATION

See the file INSTALL.  GNU Autoconf is used to generate the Makefile.


OTHER

See the file CHANGES for changes in versions of Sybtcl.



-finis-

