Database Abstraction Standard

What: DAS
Description: DAS - Database Abstraction Standard - is a proposal for a generalized Tcl interface to databases. However, it is not obvious (from the web site) whether there is code being developed.
Updated: 09/2000
Contact: mailto:[email protected]

PWQ 7 Jul 05, Basic driver manager and driver for mysql and postgres developed. As there is no interest from the TCL community for any Standards of any description there has been no public release of code and the project has stagnated since I don't do a lot of database work currently.

SYSTems Why not make a tip out of this, I can think of at least one significant use case, reading from one dbms, writing to a different dbms a.k.a database conversion. I think this is a task common enough to include such an extension to Tcl main distribution. Tcl definitely need more of this stuff.

But then, one of Tcl weaknesses is the relatively small community, most major dbmses have odbc drivers, and it's mostly the dbms who makes it, who would make drivers for DAS. ODBC is a good fit for the use case I mentioned. And honestly it's one of few reasonable usecases I can think of for such an extension. Another good reason would be to create a better than average interface, better than what ODBC offer, better than pgtcl, this way db interface makers will have a good starting point, an interface prepared by better than average programmers, and they can extend it for anything vendor specific dbms. This could motivate for example pgtcl maintainers to write a driver instead of a complete module, which is only half the work, and mostly the easy half, designing an interface is in my opinion harder than implementing one.

PWQ 13 Jul 05, tclodbc is half a solution. If there is a decent implementation of the backend driver then things work well.

I think the one of TCL's weakness'es is that the community uses Tcl in diverse situations so no one package fits all. Using PHP as an example, all Php users use Php for the same purpose, ie Dynamic html generation. It is easy in this situation to craft libraries geared to this purpose.

Tcl on the other hand may be used for any end use and so it is hard to define a Standard for any component such as a DBI.

Lars H: In case you haven't seen it already, take a look at item 69, A Unified Database Interface, in the Tcl 9.0 WishList. You're not alone in wanting some standard database interface.

tomas And then, there is tdbc