537573 ランダム
 HOME | DIARY | PROFILE 【ログイン】

さすらいのプログラマ

PR

Keyword Search

▼キーワード検索

Rakuten Profile

設定されていません

Calendar

Comments

scripting guy@ ゼロサプレス、ゼロ桁の切り出し、文字列の長さについて ゼロサプレス、ゼロ桁の切り出し、文字列…
scripting guy@ ゼロサプレス、ゼロ桁の切り出し、文字列の長さについて ゼロサプレス、ゼロ桁の切り出し、文字列…
scripting guy@ ゼロサプレス、ゼロ桁の切り出し、文字列の長さについて ゼロサプレス、ゼロ桁の切り出し、文字列…
junche4@ Re:VBScriptのRegExp(その2)(04/13) where is vbscript.h?
xyzzy_user@ Re[1]:AIX COBOLのファイル読み書き(08/28) >ZOOさん 貴重な情報ありがとうござ…

Freepage List

2007/05/16
XML
コマンドプロンプトにてDB2コマンドを実行したくなるんだけど、コマンドプロンプト上でdb2コマンドを動かしているわけではなく、db2cmd.exeというプログラム上で動くようになっているようだ。コマンドプロンプト上でdb2cmdを実行してみればよい。別ウインドウでコマンドプロンプトようなウインドウが開く。2つのウインドウを使うことになるのが、1つのウインドウでできないか、いろいろ調べてみた。
db2cmdのオプションに/iというのがあって、stdoutを継承することができるらしい。
で、やってみると、
C:\>db2
DB21061E コマンド行環境は初期化されていません。

C:\>

db2cw.batから流れを追っかけてみると
db2cw.bat → db2cmd db2setcp
db2setcp(.bat)
db2clpsetcp(.exe)を実行し、引数のコマンドを実行
となっているので、db2cmd /i 実行後、db2clpsetcpを実行してみる。
C:\>db2clpsetcp

C:\>db2

db2 =>connect to mydb
'connect' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\>

db2のプロンプトとコマンドプロンプトが表示されるようになってしまう。db2のプロンプトに空打ち(returnのみ)し、コマンドプロンプトに対してコマンド(CONNECTやSELECTなど)を使えば使えるが、うっとしいのでこれはボツ。

さらに調べてみると、db2を起動するためには、環境変数DB2PATHとDB2CLPが必要となるらしい。
DB2PATHはC:\Program Files\IBM\SQLLIBといったインストール先となればいいので問題なし。
DB2CLPはクライアントを区別するための数値がセットされるようだ。
db2cmdにて新しく開かれたdb2のプロンプト上で、DB2CLPを調べて、コマンドプロンプト上で手でセットしてみよう。
C:\>SET DB2PATH=C:\Program Files\IBM\SQLLIB

C:\>set DB2CLP=-1206113057

C:\>db2

db2 = >
うまくいったようだ。
でも、db2cmdで新たに開いてからDB2CLPを調べるぐらいなら、そのまま使った方がいいだろう。db2cmd /cとするとコマンド実行後、終了するようにできるのでこれを利用して以下のようなバッチを作ってみた。
@echo off
FOR /F %%0 IN ('DB2CMD /C /I ECHO.%%DB2CLP%%') DO @(SET _T_=%%0 & CALL SET DB2CLP=%%_T_:~1%%)
SET DB2PATH=C:\Program Files\IBM\SQLLIB

db2cmd上で、DB2CLPをechoし、その結果を呼び出し元の環境変数にセットするようにした。

たった2行のバッチファイルだが、前よりは使いやすいかなぁ・・・・

なお、このバッチファイル実行後、起動したdb2コマンドがすべて正しく動くかは保証いたしません。(^^;

追記:
バッチファイルの最後にdb2を起動するようにしておけば、もっと楽ですね。
REM 追加分
DB2
REM 環境変数をクリアしておいたほうがいいかも。
SET DB2PATH=
SET DB2CLP=






Last updated  2007/05/16 11:57:31 AM
コメント(0) | コメントを書く
[DB(SQLServer/MySQL/DB2/Oracle)] カテゴリの最新記事

Copyright (c) 1997-2017 Rakuten, Inc. All Rights Reserved.