Hi!
Mariano Martinez Peck wrote:
That's why we developed (and we are still developing) SqueakDBX. With it, you can talk with mayor databases like PostgreSQL, MySQL, Oracle, SQL Server, Sqlite3, and so on.
[SNIP lots of nice info]
First of all - I really like the SqueakDBX project because it fills a hole that has been largely empty for quite some time and is very important in many projects. So having a good SqueakDBX will surely open up more uses for Squeak. Kudos!
Secodnly - the original question was about SQL and how to access legacy stuff I think, but there are several new interesting database alternatives around that is worth mentioning. I have toyed with two of them lately:
CouchDB. The "new hip" db in town. There is a working API on SqueakSource for it that uses the Curl plugin. I have also written a so called "view server" for Squeak so that you can define server side "views" in Squeak instead of Javascript. CouchDB is a very, very interesting piece of software. Kinda like an OODB but in web2.0 style with a REST API and JSON as native "object" format.
TokyoCabinet/TokyoTyrant. Another of these new hip dbs, although a lurker. Developed and used by "Japanese facebook" mixi.jp. It is a very attractive and extremely performant database with lots of cool features. I just published a first "almost complete" implementation of its binary Socket protocol on SS, project "TokyoTyrant".
Enough rant. :) I just find these new beasts to be "fresh air". For an example on how terribly easy it is to use TokyoTyrant:
1. Download and install TokyoCabinet and TokyoTyrant. There are packages and the "./configure; make; make install"-dance worked perfectly for me.
2. Start a vanilla TokyoTyrant server: Just type "ttserver" and press enter.
3. Install "TokyoTyrant" from SS. Then try a doit:
| db | "This opens localhost:1978 by default" db := TokyoTyrantDB new. db open.
"Store a value at a key, will be converted to ByteArrays before stored" db at: 'key' put: 'my little value'.
"Fetch value, if we use #at: we get a ByteArray back" db stringAt: 'key'
There is also a test suite that should be green given that you started "ttserver" first. Note that the above is just a little bit of the API.
regards, Göran