RTFM
rtfm / SQL / dbishell
.etla.org

dbishell is a database client built on top of the Perl DBI: as such, it supports [or at least, I hope it does] every database supported by the Perl DBI/DBD layers: As of this date, it offers the following:

  • Context sensetive tab completion
  • Command history [per database driver]
  • 'describe' syntax, incl. for DB engines that don't offer this as a built-in (and transparent access via the same syntax for those engines which do)
  • input output [data] and error [info] streams can be logged to files
  • dbishell provides variables [you can turn these off]
  • subshells and shell commands
  • get and set environment variables
  • get and set DBI connect attributes [AutoCommit, LongTruncOk etc]
  • Some control over the output format
  • Oracle, MySQL and Sybase specific drivers
  • A generic 'default' driver that provides basic functionality for pretty much any DB engine
  • Ability to execute scripts stored in files
  • Syntax for binding 'out' variables for SQL procedures [ Probably only works for Oracle, and maybe DB2 at this point ]
  • Init scripts. (read at connect time)
  • SQL Server driver [sort of] [still a bit funky wrt ODBC/TDS/stored procs/inout parameter handling incompatibilities. You'll have to provide your own chicken, candles and pentagram, and make the appropriate sacrifices to ODBC, the black goat of the networks, with a thousand incompatibilities, the render of souls, the breaker of specifications, to get this working. The point I am trying to get across here is: You Are On Your Own with this one. I've fought it to a standstill once, but I don't have the energy or the will to face it again]
  • Paging of output [uses less by default, but you can specify some other pager if you like]
  • Edit multi-line commands in an external editor: seems to work reasonably well w. emacsclient
  • Help on SQL syntax and functions [needs more work]
Valid HTML 4.01! Valid CSS! Any Browser Debian Pepperfish