A/AK:
SnODBC is a binding for ODBC API. It is distributed as starkit that may be sourced to have a snodbc package available. The starkit may also be run to see the documentation.
URL: http://www.sw4me.com/snodbc.kit
The starkit contains binaries of Ffidl and dict extensions compiled for Windows-x86 and Linux-x86.
2005-10-06 For the convenience of those who don't use tclkit and starkits, ready-to-use binary distributions were prepared:
SnODBC is mostly compatible with TclODBC, but there are some subtle differences. See the documentation for details.
The main good difference is that SnODBC supports Unicode character types. Other advantages of SnODBC include:
The extension is developed for Tcl 8.5; this starkit was created with some help of the sugar macro processor to translate {expand} syntax into the compatible replacement for Tcl-8.4. See using sugar for forward-compatible {expand} for a syntax macro that does this job.
The version of the starkit presented here may be used with Tclkit 8.4 (tested on 8.4.9), or with any Tcl 8.4 distribution supporting starkits, such as ActiveTcl, dqkit, TixTclKit.
Once downloaded, the starkit may be updated to the latest version with the sdx tool:
sdx update -from http://sw4me.com/cgi-bin/starsync snodbc.kit
2005-09-16: Some changes were made to improve TclODBC compatibility. Now the vast majority of scripts using TclODBC will just work with SnODBC as well.
snichols 09-16-05 I am curious did you use Ffidl to create the C wrappers for the C based ODBC API?
A/AK 09-17-05 I use Ffidl to create the TCL commands that call ODBC functions in ODBC shared library. There is no C functions in SnODBC, and, consequently, no compilation is required when Ffidl is already available.
snichols That's pretty wild. So Ffidl is what exposes the C based ODBC functions to Tcl?
A/AK Yes. Ffidl is great at exposing C based functions to Tcl at runtime.
snichols If I have some time I may try using it to expose some LDAP functions to Tcl using the popular Mozilla LDAP C API.
escargo 27 Oct 2005 - I downloaded the Microsoft Windows binary-only version (not the starkit) and found two problems.
Once I made those changes, I was able to load snodbc.
Once I loaded it, I tried this code:
database datasources system
I got a response:
can't rename "{EngTestDB {SQL Server}}": command doesn't exist
So there is still something not quite right with the binary-only installation.