by Hippo2000(2000/6/22)
DBIに入っているDBI::Shellなのです。
なおこのドキュメントはDBIモジュールをインストールしたときに一緒にはいるDBI::Shell.pmのpodをhtml化し日本語に訳そうとしたものです。わかりにくい部分は本物を見てください。(^^;;
原本の著作権はTim Bunce氏がお持ちです。
Tim Bunceさんにメールで了解をいただきました。なお内容等が間違っていたら修正します。ご連絡ください。
DBI::Shell - DBIのための対話的なコマンド・シェル
perl -MDBI::Shell -e shell [<DBI data source> [<user> [<password>]]]
はたは
dbish [<DBI data source> [<user> [<password>]]]
DBI::Shellモジュール(そしてインストールされていればdbishコマンド)は、Perl DBIモジュールへの簡単でも効果的なコマンドライン・インターフェースを提供します。
DBI::Shellは新しく、とても実験的で、変更される可能性が高いものです。あなたの強みは変化するでしょう。 インターフェースはリリースのたびに変更されるでしょう。
本当のドキュメント−しかしまだです、変更が多すぎます。
コマンドファイルを読み込む"/source file"コマンド。コマンドファイル・ハンドルのスタックを介してネストを可能にする。バッチファイルを作成するためのコマンド・ログ機能の追加。
コマンド: ファイルからのload (query?) 、ファイルへのsave (query?)
使用可能であれば、Data::ShowTable を使用する。
DBI::Shell プラグインの意味の定義。プラグインモジュートしてのimport/exportの実装。
バッチモードの意味の明確化
完了時のフック
DBI ハンドル属性の設定/取得
移植性
一般的なコマンドシェル・モードのエミュレート(Oracle、Ingres 等)?
たくさんのコマンドがありますが、まだ少ししかドキュメントになっていません!
/help
/chistory (入力された全てのヒストリを表示する) /chistory | YourPager (ページ単位にヒストリを表示する)
/clear (現在のコマンド・バッファをクリアする)
/commit (データベースへの変更をコミットする)
/connect (利用可能なドライバとソースを取り出す) /connect dbi:Oracle (ドライバをベースに利用可能なソースを取り出す) /connect dbi:YourDriver:YourSource i.e. dbi:Oracle:mysid
このオプションはユーザIDまたはパスワードを変更するために使います。
/current (バッファのなかの現在のステートメントを表示します)
/do (現在の(SELECTでない)ステートメントを実行します)
dbish> create table foo ( mykey integer )
dbish> /do
dbish> truncate table OldTable /do (Oracle truncate)
/drivers (利用可能なDBIドライバを表示します)
/edit (外部エディタで現在のステートメントを編集します)
エディタは環境変数$VISUALまたは$EDITORまたはデフォルトではviが使われて決められます。現在のセッションで新しいエディタに変更するには/option editor=new editorを使ってください。
オペレーティング・システムからファイルを読み込むためにエディタ(/edit)を呼び出し、ファイルをエディタ・バッファに読み込みます。
/exit (シェルを抜ける)
/get (前のコマンドを現在のバッファに取り出します)
/go (現在のステートメントを実行します)
現在のバッファにあるステートメントをRun (execute)させます。もしステートメントが/で終われば、デフォルトの動きです。
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 | more
/option [option1[=value]] [option2 ...] /option (現在のオプションを表示します) /option MyOption (もしあればMyOptionの値を表示します) /option MyOption=4 (MyOptionのための値を定義し、そして/または設定します)
/perl (現在のステートメントをPerlコードとして評価します)
/quit (シェルから抜ける。exitと同じ)
/redo (前にexecuteされたステートメントを再実行します)
/rhistory (結果ヒストリを表示します)
/rollback (データベースへの変更をロールバックします)
これが有効であるには、autocommitをoffにしてください。/optoin autocommit=0
/table_info (現在のデータベースに存在する全てのテーブルを表示します) /table_info | more (ページ単位に)
/trace (現在のデータベースのためのDBIトレースレベルを設定します)
DBIのためのトレース・レベル0-4に合わせてください。0はオフ、4はたくさんの情報です。DBIで本当に何が起こったのかを判断するのに役立ちます。DBIをご覧ください。
/type_info (現在のサーバによってサポートされているデータ型を表示します)
DBI::Shellは、長い歴史があります。
最初に1994-1997の間に、Andreas Koeingによってpmsqlスクリプトとして始まりました。Jochen Wiedmannがとりあげ、彼のDBD::mSQLドライバをバンドルするし、(たくさんの方法を追加しながら)dbimonとして実行しました。1998年には、私は以前からDBIにシェルをバンドルしたいと思っており、Adam Marskはdbishに働きかけ、Sybase sqshユーティリティを似せました。
私は機能がいっぱいでも複雑なdbimonよりもきれいなものから始めたかったので、私はAdamとともに働いて、公正にオープンなモジュラーで、構成可能なDBI::Shellモジュールを作りました。その途中でTom Loweryがアイデアをだしてパッチしてくれました。我々が先に進むにしたがって、Jochenのdbimonからの便利なコードと概念が元に戻る道へと導いています。
(原文のまま)
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.
ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。