Interacting with databases

Interacting with Databases presents information about databases relative to Tcl .

TDBC is the official specification for and implementation of a generic database interface. The focus now is on expanding the number drivers to cover more databases. Older database interface packages are being modified or rewritten as TDBC drivers.

See Also

cross-platform framework for database application ui development
Database Interface
Information about generic datatabase interface proposals and implementations. See the individual pages for each interface, e.g., ODBC, for drivers
Regular Expressions: Tcl and Database Managers -- A Survey (alternat ) ,Cameron Laird, 2001
BOOK Database Backed Web Sites
A simple database
Discussions on making data file access simpler
SQL Relay
"has native client API's for" several languages, including Tcl, connecting to several different "database backends."
OO XOTcl wrapper (facade) for mysqltcl PostgreSQL sqlite and tclodbc
Migrating MS Access to other databases using XML
XSLT is in there too


database API mailing list
web interface

Database Browsers in Tcl

A Mini Database Manager
a reasonly-cabpable little interface to create, edit and browse database tables
a graphical interface to PostgreSQL and application building environment written in Tcl/Tk
cross-platform sqlite database manager
SQL query editing window, result window, and lots of menus and buttons

Other Database Browsers

a review


Jacob Levy has written the Interfaces to lesser known databases such as OBST, Coral, MOREplus, Qddb, etc.


AOLserver has its own drivers for many databases (Oracle, PostgreSQL, Sybase, Solid, etc.), all accessible from the same ns_db Tcl API. And the AOL maintainers have started refactoring the C code to make some of this stuff shared libraries, and thus potentially very useful in non-AOLserver environments as well...


The Redis project [L1 ] supports Tcl as well as other languages. The home page says of Redis:

Redis is an advanced key-value store. It is similar to memcached but the dataset is not volatile, and values can be strings, exactly like in memcached, but also lists, sets, and ordered sets. All this data types can be manipulated with atomic operations to push/pop elements, add/remove elements, perform server side union, intersection, difference between sets, and so forth. Redis supports different kind of sorting abilities.

In order to be very fast but at the same time persistent the whole dataset is taken in memory, and from time to time saved on disc asynchronously (semi persistent mode) or alternatively every change is written into an append only file (fully persistent mode). Redis is able to rebuild the append only file in background when it gets too big.

The Redis source tree contains test scripts written in Tcl.