'''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 ** [Database Interface]: Information about generic datatabase interface proposals and implementations. See the individual pages for each interface, e.g., [ODBC], for drivers [http://www.drdobbs.com/regular-expressions-tcl-and-database-man/199200723%|%Regular Expressions: Tcl and Database Managers -- A Survey] ([http://web.archive.org/web/20071114180332/http://www.unixreview.com/documents/s=1232/urm0108h/%|%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." [XOSql]: OO [XOTcl] wrapper (facade) for [mysqltcl] [PostgreSQL] [sqlite] and [tclodbc] [Migrating MS Access to other databases using XML]: [XSLT] is in there too ** Resources ** [mailto:tcldb-request@ucolick.org%|%database API mailing list]: [http://lists.ucolick.org/mailman/listinfo/tcldb%|%web interface] ** Little Database Systems ** [adb]: a pure-tcl database engine with optional (non-pure) extensions to MySQL and XML [TclVSdb]: Very Simple Database package Native Tcl database facility, written in Tcl [Starbase.tcl]: ** Pre-Relational Database Systems ** [Berkeley DB]: Includes Tcl Extension for accessing all the functionality [gdbm]: ** Hybrid Database Systems ** [Metakit]: has a wonderful Tcl binding that makes all the power of Metakit available in a natural and intuitive way. ** Object Databases ** [OBST]: ** Time Series Database Systems ** [FameTcl]: ** Specialized Database Systems ** [ftp://ftp.tcl.tk/pub/tcl/all/n/NLItcl/0/NLItcl.tar.gz%|%NLItcl.tar.gz]: Natural Language Inc's NLI binding [PiTcl]: [Palm Pilot] Lotus Notes: [TKHINote] Sun Net Manager: [TCLSNM] ** Relational Databases Systems ** ADABASE D: [AdabasTcl] [db2tcl] (DB2): (is it true that DB2's native interface is so close to ODBC that TclODBC can be the basis for a "native" binding?) Informix: [isqltcl] [INGRES]: [Interbase]: [mSQL] (mini SQL): Blackbourn's Minerva miniSQL (mSQL?) binding [miniSQL database interface (Blackbourn)] [MrPersister]: is a high level library on top of [JDBC] [MySQL]: [Oracle]: [http://www.davudsplace.net/debbie1.html%|%debbie], [Oratcl] [PostgreSQL]: [ftp://ccfadm.eeg.ccf.org/pub/ctk/rdb.tar.Z%|%RDB] (dead link): [SQLite] ,by [D. Richard Hipp]: [Sybase]: [DB2]: [http://www.frontbase.com%|%FrontBase]: see the downloads area ** Bindings ** The individual pages for each database system listed above contains information about the available bindings. This list is in the process of being sorted out to those indeividual pages. * [Ed Hume] has an in-memory SQL database at http://www.hume.com/ * [Michael A. Cleverly] has [nstcl] * [David Bigelow] provides [TimpleSQL] * [Rivet] contains the [DIO] database layer that permits the use of different backends such as mysql or postgresql. * [VI] provides [VIDBM] for berkely dbm * http://field.medicine.adelaide.edu.au/%7Ecolin/libtclpq/ * http://www.ucolick.org/%7Ede/tcl_syb/wisql.html * [cross-platform framework for database application ui development] ** User Interfaces ** [A Mini Database Manager]: a reasonly-cabpable little interface to create, edit and browse database tables [dgDBBrowser]: [PgAccess]: a graphical interface to PostgreSQL and application building environment written in Tcl/Tk [UCO-Wisql]: SQL query editing window, result window, and lots of menus and buttons ** Description ** [Jacob Levy] has written the Interfaces to lesser known databases such as [OBST], Coral, MOREplus, [Qddb], etc. ** [AOLserver] ** [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 [refactor]ing the C code to make some of this stuff shared libraries, and thus potentially very useful in non-AOLserver environments as well... ** MSSQL database access *** Basic question re: MSSQL database access [JDM] 2006-08-02: One interface that I do not see above is for MS SQL Server databases. Is this because none is needed? Or because the Sybase interface will work? Or because no one has written one specifically for MS SQL so ODBC connections should be used? I apologize if I have overlooked something. [TP] answers 2006-08-02: For MSSQL interface, [Sybtcl] should work, and I would recommend using the FreeTDS [http://freetds.org] interface library, as it can compile options to include various MSSQL protocol versions. FreeTDS can also build an ODBC driver, so [Tclodbc] works too. For most of my DB interface needs lately, I've been using [Tclodbc] on both Unix/Linux and Windows. [JDM] 2006-08-02: Many thanks for the quick answer! I will try [Tclodbc]. As someone new to TCL, I am looking for examples that use Tclodbc as well. Can you point me to any? Thanks in advance. ** Redis ** The Redis project [http://code.google.com/p/redis/] 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. <> Database | Survey | Mailing List