(Sorry if this is a duplicate announcement; my normal news service is down for
the time being.-tp)
Sybtcl-2.5b2 and Oratcl-2.5b2 are now available for download and testing.
You can find the packages at:
http://www.neosoft.com/tcl/ftparchive/sorted/databases/sybtcl-2.5b2
http://www.neosoft.com/tcl/ftparchive/sorted/databases/oratcl-2.5b2
or
ftp://ftp.neosoft.com/pub/tcl/sorted/databases/sybtcl-2.5b2
ftp://ftp.neosoft.com/pub/tcl/sorted/databases/oratcl-2.5b2
What are Sybtcl & Oratcl? They are database extensions for Tool Command
Language (Tcl) that allow access to Sybase and Oracle. For a complete
README, follow either HTTP link noted above.
Summary of changes:
--------------------------------------------------------------------------- Sybtcl & Oratcl-Reorganized distribution directory (generic, unix, mac, win) " " " -Changed configure, now builds shared library by default, " " " -Versioning on installed directories and libs(eg: libOratcl25.so) " " " -All "keywords" now also recognized as "options"; eg. " " " -Wisqlite/Wosql: stripped requirement for TclX, almost portable " " " -Windows DLLs precompiled for Tcl 7.6 and Tcl 8.0; new " " " -Man pages also shipped in HTML, Postscript, and text. " " " -More testing with Tcl 8.0 - works fine, still uses older Oratcl-Changed async behavior to include waiting for first fetch to complete. Oratcl-check OCI return after fetch for disconnected network link (ORA-0600) Sybtcl-include Linux ELF ct-libs in ./generic/ctcompat. To do before final release: --------------------------------------------------------------------------- Sybtcl- * Windows NT support: Makefile and DLL included. Tested under Windows/NT only. * CT-Lib compatiblity layer: Sybtcl normally uses Sybase's DB-Lib interface. * sybnext now accepts Tcl variables for binding: I've added the ability to sybsql $h "select au_lname, au_fname from authors" will execute the 'puts' statement for every row returned, binding the Oratcl - * Windows NT support: Makefile and DLL included. Tested under Windows/NT only. * Cursor variables returned from PL/SQL: The oraplexec command can now bind set exec_cur [oraopen $lda] * orafetch now accepts Tcl variables for binding: See the 'sybnext' example * orabindexec - new command: Allows Tcl variables to be bound to Oracle :bind orasql $cur "insert into dept values(:deptno, :dname, :loc)" parseonly * Asynchronous SQL execution: Allows sending SQL with immediate return. orasql $cur "select * from emp" async Enjoy! Tom Poindexter
August 6, 1997
Beta 2 changes: (notes apply to both Sybtcl and Oratcl except where noted)
consolidate extra lib searching (-lsocket -lnsl -ldnet_stub)
sybsql $h $sqlstr -async; orasql $c $sqlstr -parseonly
to Windows now. Menus still need some work. Fix last
Windows/Unix-isms
'install.tcl' script to pick correct dll to install.
string interface
o Try to find someone to do Oratcl/Sybtcl port to Mac (volunteers?)
o Include Mac binaries for Sybtcl/Oratcl
o Clean up rest of Wisqlite/Wosql
o Write .tek files for Teki install
o Write test suites (?)
Beta 1 changes:
Mac support is planned, I'm working with another Sybtcl/Mac user to get
a Makefile and lib.
I wrote a DB-Lib to CT-Lib (Sybase's other interface) emulation layer. What
this means is that it may be possible to port Sybtcl to Linux. So far
I've tested the CT-Lib compatibility on Solaris only.
bind result columns to Tcl variables. The old method of substituting columns
into a code block still works. Ex:
sybnext $h { puts "$lname, $fname } "" lname 1 fname 2
Tcl variable 'lname' to column 1, 'fname' to column 2.
Is anyone game to help with a Mac port? email me.
a cursor variable on return from PL/SQL, and fetch rows from that cursor. Ex:
set fetch_cur [oraopen $lda]
oraplexec $exec_cur {begin
open :empcursor for select empno, ename
from emp where job = :job;
end;
} :job ANALYST :empcursor $fetch_cur
orafetch $fetch_cur {puts "$num $name"} "" num 1 name 2
above. Tcl variables are bound to result columns for each row returned.
variables for SQL execution, taking advantage of Oracle's ability to
pre-parse and cache SQL statements. Works in conjuction with new 'parseonly'
option on orasql. Ex:
orabindexec $cur :deptno 98 :dname ENGINEERING :loc TUCSON
orabindexec $cur :deptno 99 :dname SUPPORT :loc DENVER
New commands 'orapoll' to check status of SQL; 'orabreak' to interrupt
SQL execution on server. New 'async' option for orasql and orabindexec. Ex:
puts -nonewline "waiting."
while {[orapoll $cur] == ""} {
puts -nonewline "."
}
puts "done"
http://www.nyx.net/~tpoindex