データベースからDDLを作成する(db2look)

既存のデータベースからDDLを作成するにはdb2lookコマンドを使用する。


db2look -d データベース名 -e [ 対象指定 ] [-m] [-l] [-x] [-f]   [-i 接続ユーザー名 -w パスワード ] [-o 出力ファイル名 ]


 -m : 統計情報を複製するためのUPDATE文を出力に含める。
 -a : データベースに含まれるすべてのオブジェクトを対象とする。
 -l : 表スペースおよびバッファプールを定義するためのDDLを出力に含める。
 -x : 権限を付与するためのDDLを出力に含める。
 -f : 照会オプティマイザーに影響を与える構成パラーメーターおよびプロファイルレジストリ変数の設定コマンドを出力に含める。
 -i ユーザー名 -w パスワード : データベースの接続にユーザー名とパスワードが必要であれば指定する。
 -o 出力ファイル名 : 生成したDDLを出力するファイルを指定します。指定しない場合、生成されたDDLは標準出力に出力する。
 -e: データベースの複製に必要な DDL ファイルを抽出


例)データベースの複製に必要なDDLを作成
>db2look -d DB名 -e -i ユーザ名 -w パスワード -o 出力ファイル名


oracle版:http://oracle.se-free.com/ddl/A1_get_ddl.html

VC++6.0でのコメントアウト

最近仕事でVC++6.0を使っているのだが、


EclipseやVS.NETのボタン一発での複数行コメントアウトになれていると


コメントアウトボタンがないとかなりきつい。


コメントアウトマクロを作ってくれている人がいてとても助かった。


コメントアウトマクロ for VC++の詳細情報 : Vector ソフトを探す!

それにしてもVC++6.0での開発(というか改造)は面倒。

SI Object BrowserがDB2に対応(2010年12月1日)

Object Browserが2010年12月よりDB2に対応していた。


http://www-06.ibm.com/partnerworld/jp/isv/solutions/db2/ob/


機能一覧 | データベース開発支援ツール SI Object Browser


基本的にDB2Oracleライクなので扱いやすいが、


Oracle開発でObject Browserを使っていた自分としてはかなり重宝。

DB2・Oracle基本コマンド

>はDB2
#はOracle


○コマンドモード?
>db2 Enter


○コマンドモード?終了
>quit


○DB接続
>db2 connect to DB名 user ユーザ名 using パスワード
#conn ID/PASSWORD as sysdba


○データベースに含まれる表すべてをエクスポート
>db2move db名 export


○DB定義情報を出力
>db2look


○表に含まれる全件のデータを、DEL形式のファイルにエクスポート
>db2 EXPORT TO XXX.del OF DEL SELECT * FROM テーブル名
>db2 EXPORT TO XXX.del OF DEL MODIFIED BY CHARDEL"" SELECT * FROM テーブル名


○DEL形式のファイルを表に挿入
>db2 IMPORT FROM XXX.del OF DEL INSERT INTO テーブル名
>db2 IMPORT FROM XXX.del OF DEL INSERT_UPDATE INTO テーブル名


DDLファイルの実行
>db2 -tvf XXX.ddl


○DB削除
>db2 DROP DATABASE DB名


○テーブルスペース
>db2 list tablespaces show detail


○トリガ一覧
>db2 SELECT TRIGSCHEMA, TRIGNAME, TABSCHEMA, TABNAME FROM SYSCAT.TRIGGERS


○セッション確認
>db2 list applications


○セッション切断
>db2 force application ALL