dbi::shell(3)

NAME

DBI::Shell - Interactive command shell for the DBI

SYNOPSIS

perl -MDBI::Shell -e shell [<DBI  data  source>  [<user>
[<password>]]]
or
dbish [<DBI data source> [<user> [<password>]]]

DESCRIPTION

The DBI::Shell module (and dbish command, if installed)
provide a simple but effective command line interface for
the Perl DBI module.

DBI::Shell is very new, very experimental and very subject
to change. Your milage will vary. Interfaces will change with each release.

TO DO

Proper docs - but not yet, too much is changing.

"/source file" command to read command file. Allow to
nest via stack of command file handles. Add command log
facility to create batch files.

Commands: load (query?) from file save (query?)
to file

Use Data::ShowTable if available.

Define DBI::Shell plug-in semantics. Implement
import/export as plug-in module

Clarify meaning of batch mode

Completion hooks

Set/Get DBI handle attributes

Portability

Emulate popular command shell modes (Oracle, Ingres etc)?

COMMANDS

Many commands - few documented, yet!

help
/help
chistory
/chistory (display history of all commands
entered)
/chistory | YourPager (display history with paging)
clear
/clear (Clears the current command
buffer)
commit
/commit (commit changes to the database)
connect

/connect (pick from available drivers and
sources)
/connect dbi:Oracle (pick source from based on driv
er)
/connect dbi:YourDriver:YourSource i.e. dbi:Ora
cle:mysid
Use this option to change userid or password.
current
/current (Display current statement in
the buffer)
do
/do (execute the current (non-se
lect) statement)

dbish> create table foo ( mykey integer )
dbish> /do
dbish> truncate table OldTable /do (Oracle
truncate)
drivers
/drivers (Display available DBI drivers)
edit
/edit (Edit current statement in an
external editor)
Editor is defined using the enviroment variable
$VISUAL or $EDITOR or default is vi. Use /option edi
tor=new editor to change in the current session.
To read a file from the operating system invoke the
editor (/edit) and read the file into the editor
buffer.
exit
/exit (Exits the shell)
get
/get (Retrieve a previous command to
the current buffer)
go
/go (Execute the current statement)
Run (execute) the statement in the current buffer.
This is the default action if the statement ends with
/

dbish> select * from user_views/
dbish> select table_name from user_tables
dbish> where table_name like 'DSP%'
dbish> /
dbish> select table_name from all_tables/
more
history
/history (Display combined command and
result history)
/history | more
option
/option [option1[=value]] [option2 ...]
/option (Displays the current options)
/option MyOption (Displays the value, if exists,
of MyOption)
/option MyOption=4 (defines and/or sets value for
MyOption)
perl
/perl (Evaluate the current statement
as perl code)
quit
/quit (Leaves shell. Same as exit)
redo
/redo (Re-execute the previously exe
cuted statement)
rhistory
/rhistory (Display result history)
rollback
/rollback (rollback changes to the
database)
For this to be useful, turn the autocommit off.
/option autocommit=0
table_info
/table_info (display all tables that exist
in current database)
/table_info | more (for paging)
trace
/trace (set DBI trace level for current
database)
Adjust the trace level for DBI 0 - 4. 0 off. 4 is
lots of information. Useful for determining what is
really happening in DBI. See DBI.
type_info
/type_info (display data types supported by
current server)

AUTHORS and ACKNOWLEDGEMENTS

The DBI::Shell has a long lineage.

It started life around 1994-1997 as the pmsql script writ
ten by Andreas König. Jochen Wiedmann picked it up and ran
with it (adding much along the way) as dbimon, bundled
with his DBD::mSQL driver modules. In 1998, around the
time I wanted to bundle a shell with the DBI, Adam Marks
was working on a dbish modeled after the Sybase sqsh util
ity.

Wanting to start from a cleaner slate than the featurefull but complex dbimon, I worked with Adam to create a
fairly open modular and very configurable DBI::Shell mod
ule. Along the way Tom Lowery chipped in ideas and
patches. As we go further along more useful code and con
cepts from Jochen's dbimon is bound to find it's way back
in.

COPYRIGHT

The DBI::Shell module is Copyright (c) 1998 Tim Bunce.
England. All rights reserved. Portions are Copyright by
Jochen Wiedmann, Adam Marks and Tom Lowery.

You may distribute under the terms of either the GNU Gen
eral Public License or the Artistic License, as specified
in the Perl README file.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout