I had a query about sybtcl, but was unable to reply by e-mail. So
here's the info.
Sybtcl is a code extension to Tcl/TclX/Tk that provides an interface
to dblib functions. It allows you to submit SQL, retrieve the
results, read TEXT pages, and determine the status of your SQL
(errors, etc.). It's available from the Tcl "contributed software"
site, which is now
harbor.ecn.purdue.edu (128.46.128.76)
/pub/tcl
The current version seems to be 1.2, which works with all the versions
of Tcl/TclX I've tried it with (up to Tcl 6.7/TclX 6.5c). It doesn't
require TclX, but the installation instructions assume you've got it.
There is one bug I've found, for which I include the patch below.
I also have some TCL procs that (I think) make it slightly easier to
use, and I have a full-blown browser that lets you (more-or-less)
easily investigate database structure and contents (no, it doesn't
do E-R diagrams).
For those of you not familiar with TCL, it's an interpreted extensible
language that is designed for adding command language interface to
tools. TK is an extension of TCL that provides an interface to X with
a Motif-like look & feel. In my experience, I can produce "GUI"
programs in a fraction (orders of magnitude) of the time that would be
required to write them in C or another similar language. See
comp.lang.tcl for more discussion, or look at the code and
documentation. These are available from the archive site:
sprite.berkeley.edu (128.32.150.27)
/tcl
% diff -c sybtcl.c~ sybtcl.c
*** sybtcl.c~ Wed Oct 7 12:58:54 1992
--- sybtcl.c Tue Nov 24 12:30:44 1992
***************
*** 155,162 ****
--- 155,164 ----
sprintf(buf,"%d",oserr);
Tcl_SetVar2(SybInterp,SybMsgArray,"oserr",buf,TCL_GLOBAL_ONLY);
+ if ( dberrstr == NULL ) dberrstr = "";
Tcl_SetVar2(SybInterp,SybMsgArray,"dberrstr",dberrstr,
TCL_GLOBAL_ONLY);
+ if ( oserrstr == NULL ) oserrstr = "";
Tcl_SetVar2(SybInterp,SybMsgArray,"oserrstr",oserrstr,
TCL_GLOBAL_ONLY);
--
=Spencer W. Thomas | Info Tech and Networking, B1911 CFOB, 0704
"Genome Informatician" | Univ of Michigan, Ann Arbor, MI 48109