第3章 Perl DBI・DBD::Symfowareの使 用
3.2 dbishの実行
3.2 dbishの実行
dbishの実行について説明します。
dbishの実行
1. dbishからアクセスするデータベースを作成してください。データベー スの作成方法の詳細は、 RDB管理者ガイド と RDBユーザーズガイド データベース定義編 を参照してください。
2. ローカルのSymfoware/RDBに接続する場合、環境変数RDBNAMEにRDBシス テム名を指定してください。省略した場合、RDB名なしのRDBシステムに 接続します。環境変数RDBNAMEの詳細は、 RDBユーザーズガイド 応用プ ログラム開発編 の マルチRDB運用のコネクション を参照してくだ さい。
3. リモートのSymfoware/RDBに接続する場合、Symfoware Serverのリモー トアクセスの設定とRDBシステムの再起動を行う必要があります。リモ ートアクセスの設定の詳細は、 スタートガイド サーバ編 の RDBの セットアップ および システム用の動作環境ファイルによる定義 の
MAX̲CONNECT̲TCP を参照してください、。
4. 環境変数DBI̲DSNにデータソース名を指定してください。データソース 名の詳細は、 4.3.1 connect の パラメタ を参照してください。環 境変数DBI̲DSNを省略した場合、dbishがデータソース名を問い合わせま す。
5. 環境変数DBI̲USERに認可識別子を指定してください。環境変数DBI̲USER を省略した場合、dbishを実行するユーザの認可識別子が採用されます。
6. 環境変数DBI̲PASSにパスワードを指定してください。環境変数DBI̲USER を省略した場合はdbishを実行するユーザのパスワードが採用されます。
環境変数DBI̲USERを指定した場合はdbishがパスワードを問い合わせま す。
7. 必要に応じて、環境変数DBI̲TRACEを指定してください。環境変数 DBI̲TRACEの詳細は、 4.3.5 trace を参照してください。
8. 以下のコマンドでdbishを実行します。環境変数DBI̲DSN、DBI̲USER、
DBI̲PASSの指定よりもコマンドで指定するデータソース名、認可識別子、
パスワードのほうが優先されます。
dbish [ データソース名 [ 認可識別子 [ パスワード ] ] ]
9. dbishがデータソース名を問い合わせてきた場合、データソース名を指 定してください。データソース名の詳細は、 4.3.1 connect の パラ メタ を参照してください。
10. dbishがパスワードを問い合わせてきた場合、パスワードを指定してく ださい。
11. 以下のコマンドでSQL文を実行します。
dbi:Symfoware:RDBDB> SQL文を指定する。
dbi:Symfoware:RDBDB> /go
(実行結果が表示されます。)
12. 以下のコマンドでdbishの使用方法を調べてください。
dbi:Symfoware:RDBDB> /help
13. 以下のコマンドでdbishを終了します。
dbi:Symfoware:RDBDB> /quit
dbishの実行例
dbishの実行例を以下に示します。
# dbish
DBI::Shell xx.xx using DBI x.xx
WARNING: The DBI::Shell interface and functionality are
======= very likely to change in subsequent versions!
Available DBI drivers:
1: dbi:ExampleP 2: dbi:Proxy 3: dbi:Symfoware
Enter driver name or number, or full 'dbi:...:...' DSN: dbi:Symfoware:RDBDB
Connecting to 'dbi:Symfoware:RDBDB' as ''...
@dbi:Symfoware:RDBDB> select * from stocks.stock
Current statement buffer (enter '/' to execute or '/help' for help):
select * from stocks.stock
@dbi:Symfoware:RDBDB> /go
PRODUCT̲NUMBER,PRODUCT̲NAME,STOCK̲QUANTITY,WAREHOUSE̲NUMBER '140','cassette deck ','120','2'
'110','television ','85','2' [2 rows of 4 fields returned]
@dbi:Symfoware:RDBDB> /format box
@dbi:Symfoware:RDBDB> select * from stocks.stock
Current statement buffer (enter '/' to execute or '/help' for help):
select * from stocks.stock
@dbi:Symfoware:RDBDB> /go
+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+
│PRODUCT̲NUMBER│PRODUCT̲NAME │STOCK̲QUANTITY│WAREHOUSE̲NUMBER│
+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+
│ 140│cassette deck │ 120│ 2│
+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+
│ 110│television │ 85│ 2│
+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+
[2 rows of 4 fields returned]
@dbi:Symfoware:RDBDB> /quit
Disconnecting from dbi:Symfoware:RDBDB.
#
dbishの注意事項
dbishにはPerlスクリプト中の文字にEUC(Extended UNIX Code)、シフトJIS
3.2 dbishの実行
コードが含まれているときの考慮が足りません。マルチバイト文字列の詳細は、
6.3 マルチバイト文字列の注意 を参照してください。