Tuesday, October 21, 2008

sqlpython: getting crowded in here

I've come across two other SQL command-line clients lately, both written in Python:

pysql, like sqlpython, is for Oracle only.

sqlcmd is intended to work across all sorts of database backends (Oracle, postgreSQL, MySQL, etc.) seamlessly.

I intend to publicly review them soon. In the meantime, thought I'd let you know of their existence.

5 comments:

John said...

I've just been searching for such a beast. Would love to read a review.

I've basically come to the conclusion that I might as well use toad and/or that a script that connects to db's I use with command history may take care of the rest.

Brian Clapper said...

Actually, sqlcmd isn't based on SQLAlchemy. (I can say that, because I wrote sqlcmd.) It uses standard Python DB API logic directly--albeit via a front-end enhancement library I wrote.

I use it nearly every day for my own work, which means I tend to fix bugs as I find them.

I'll be interested to read your review.

Catherine said...

My apologies, Brian! Sometime between looking through the homepage and making my post, my brain must have flipped "Grizzled" to "SQLAlchemy".

amihay gonen said...

Hi , I've installed sqlpython on a window machine . I got this output :


0:ng@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=amihay)(PORT=1521)))(CONNECT_DATA=(SID=ora10)))> select * from dual;

←[1m←[31mDUMMY←[39m←[22m
-----
←[31mX ←[39m

1 row selected.

0:ng@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=amihay)(PORT=1521)))(CONNECT_DATA=(SID=ora10)))>

I got problem on : ←[31mX symbols <-- I guess this will work good on unix console , but in CMD DOS . it doesn't


AnyIdea - what to do ?

anyway - thanks for the great tool.

Catherine said...

Amihay - good catch, thank you! Those markings are sqlpython's attempts to make colors... I forgot to check what they'd do in Windows. You can turn them off with

set color off

... in the next release, I'll need to have sqlpython itself turn them off when you're not on *nix.

Thanks!