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 * * 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.0.tar.Z on harbor.ecn.purdue.edu as well in /pub/tcl/extensions/sybtcl-2.0.tar.Z 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-