Hatena::ブログ(Diary)

狂言日誌 このページをアンテナに追加 RSSフィード

2005-06-27

DB2で外部ファイルに書かれたSQLを実行させるには

 たんなるコマンドプロンプトではなくCLPを実行させて、その上でやる必要がある。OracleのSQL*Plusのイメージでいろいろやろうとすると感覚が違いますね。

 テキストファイルからSQLステートメントを実行させたい場合はまずコネクトする。

 db2 connect to DBインスタンス名

 である。ここでの認証は上に書いたように、windows認証が使われる。で、インスタンスに接続したら、

 db2 -f ファイル名.sql

 とすればよいのだが、このままだとステートメントのデリミタが設定されていないので、-tをつけなくてはならないようだ。-vをつけるとエコーされる。なので、ここでは

 db2 -tvf ファイル名.sql

 とする。

 ところで、単にdb2と打つと、db2=>というプロンプトになって対話モードに入ってしまう。この場合、connectなどはdb2 connectと打たずにconnectと打てばよくなるのだが、いっぽうでファイルからSQLを実行させる方法はどうなるのだろうか?

 (追記)SIMさん、どうもありがとうございました。助かりました。DBもいろいろ表面だけは触ってますが、各社アーキテクチャがぜんぜん違っていて戸惑うことが多いです。はじめから順番に学習しているわけではないのでなかなか知りたい情報に辿り着くのがなかなか大変ですね。(2005/07/03 22:02)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/sixpetals/20050627/p2
リンク元
Connection: close