Home   |   Contact Us   |   Site Map

 

 

 

  Shell.pm Perldoc

 


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 driver) /connect dbi:YourDriver:YourSource i.e. dbi:Oracle:mysid

Use this option to change userid or password.

current

/current (Display current statement in the buffer)

do

/do (execute the current (non-select) 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 editor=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 executed 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 written by Andreas Knig. 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 utility.

Wanting to start from a cleaner slate than the feature-full but complex dbimon, I worked with Adam to create a fairly open modular and very configurable DBI::Shell module. Along the way Tom Lowery chipped in ideas and patches. As we go further along more useful code and concepts 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 General Public License or the Artistic License, as specified in the Perl README file.



 

Browse our Perldoc FAQs:

Perldoc Home

Perldoc Site Map


Previous Topics

Select.pm Perldoc

SelectSaver.pm Perldoc

SelfLoader.pm Perldoc

SelfStubber.pm Perldoc

Semaphore.pm Perldoc

servent.pm Perldoc

_server.pm Perldoc

Server.pm Perldoc


Next Topics

Showlex.pm Perldoc

SIG.pm Perldoc

sigtrap.pm Perldoc

Simple.pm Perldoc

SizeLimit.pm Perldoc

SMTP.pm Perldoc

snews.pm Perldoc

Socket.pm Perldoc


Website Spotlight

Domain Hosting with the Leader in Innovative and Comprehensive Web Hosting Solutions, Globalnet GNP.

Reliable Domain Hosting

 

Click here to increase your web traffic insantly!


 Copyright © 1999-2005 Globalnet Promotions, LLC.   |   TheServerRoom.org Home    |   Sitemap    |   RSS News Feeds