« 2007年10月 | トップページ | 2008年1月 »

2007年11月

2007年11月16日 (金)

SQLGetInfo

今回はDB2 CLI/ODBCのSQLGetInfo関数である。ODBCは接続先のデータベースの種類によらない汎用的なアプリケーション・プログラミング・インターフェースを開発者に提供するために開発されたインターフェースであるので、実際の接続先のデータソースやドライバに関する情報を返す関数が用意されている。それが、SQLGetInfo関数である。

SQLGetInfo関数の呼び出し時に第2引数として指定するパラメータ(InfoType)の値により様々な情報が取得できる。指定できる値に例えば、次のようなものがある。

  • SQL_DATABASE_NAME
  • SQL_DBMS_NAME
  • SQL_DBMS_VER

  • SQL_TXN_CAPABLE
  • SQL_DEFAULT_TXN_ISOLATION
  • SQL_TXN_ISOLATION_OPTION
  • SQL_SCROLL_OPTIONS
  • SQL_CURSOR_COMMIT_BEHAVIOUR
  • SQL_CURSOR_ROLLBACK_BEHAVIOUR

上記は用意されている値のほんの一部である。最初の3つはDBMS Prodcut Informationと呼ばれる値で、SQL_DATABASE_NAMEは接続中のデータベースの名前、SQL_DBMS_NAMEは接続中のデータベース管理システムの名前、SQL_DBMS_VERはそのバージョンを表す情報を返す。

残りは、Data Source Informationと呼ばれる値で、SQL_TXN_CAPABLEはトランザクションの能力、SQL_DEFAULT_TXN_ISOLATIONはデフォルトのトランザクションの分離レベル、SQL_TXN_ISOLATION_OPTIONはサポートしているトランザクションの分離レベル、SQL_SCROLL_OPTIONSはサポートしているカーソルの種類(前方専用、静的、キーセット駆動、動的カーソルなど)を、SQL_CURSOR_COMMIT_BEHAVIOUR、SQL_CURSOR_ROLLBACK_BEHAVIOURは、トランザクションのコミットまたはロールバック時に、既存のオープン中のカーソルがどう振舞うかを表す情報を返す。

で、実際にDB2 Express CのSAMPLEデータベースに接続して上記の値を指定して情報を取得してみた。

Sqlgetinfo_2 

上のイメージより、サポートしている分離レベルはREAD UNCOMITTED、READ COMMITTED、REPETABLE READ、SERIALIZABLEのすべて、サポートしているカーソルの種類は前方専用、静的、キーセット駆動の3つ。また、SQL_CURSOR_COMMIT_BEHAVIOURのSQL_SC_PRESERVEは、トランザクションのコミット時にオープン中のカーソルが保存され、コミット後も引き続きフェッチできることを表す。同様に、SQL_CURSOR_ROLLBACK_BEHAVIOURのSQL_CB_CLOSEはロールバック時には、オープン中のカーソルが閉じられることを表す。前後するが、SQL_TXN_CAPABLEのSQL_TC_ALLはトランザクションにDML文のみならず、DDL文を含むことができることを表す(DB2はDDL文含むことできる??)。

と、様々な情報が取得できる。

2007年11月14日 (水)

V1.0.0.8リリース

昨日の今日ですが・・V1.0.0.8をリリースしました。

「ファイルエクスプローラ」ウィンドウを追加しました。こんな感じです。

Dbxi1008a

コンテキストメニューから選択したファイルを「SQLエディタ」ウィンドウに開きます。また、「SQLエディタ」ウィンドウに、選択したファイルをドラッグ&ドロップして開くこともできます。この時、Shiftキーを押しながらドラッグ&ドロップすることにより、ファイルのエンコードを指定できます。

Dbxi1008b

また、「オプション」ウィンドウにも「拡張子フィルタ」オプションを追加しました。ここで指定された、拡張子のファイルだけが「ファイルエクスプローラ」ウィンドウに表示されます。

以前のバージョンからEXEだけ上書きする場合は、少なくとも、レイアウト関係のファイル、MenuLayout.ini、DockingLayout.iniは一旦削除しないと、新しく追加したウィンドウやメニューが表示されないと思いますので注意を・・

2007年11月13日 (火)

V1.0.0.7リリース

V1.0.0.7をリリースしました。

DBXInspectorの起動・終了時に「データベースエクスプローラ」「オブジェクトインスペクタ」「SQL履歴」の各ウィンドウの位置・サイズを復元・退避するようになりました。DockingLayout.iniファイルに記録されます。デフォルトにリセットしたい時は、このファイルを削除して下さい。

同様に、それらのウィンドウ上のグリッドのカラムの位置・サイズ、ソートの状態も復元・退避するようになりました。これらは、GridLayout.iniファイルに記録されます。これらのファイルをテキストエディタ上で編集しないで下さい。ちなみに、 下のイメージのフィルタの設定も復元・退避されます。

Dbxi1007a_2

というか、INIファイルをたくさん作りすぎのような・・・

スクリーンショット:

Screenshot

2007年11月 1日 (木)

V1.0.0.6リリース

昨日の今日ですが・・DBXInspector V1.0.0.6をリリースしました。

主な変更点は、Oracleのテーブルやビュー、それらのカラムのコメントの表示に対応しました。OracleのカタログビューALL_TAB_COMMENTSALL_COL_COMMENTSのコメントを表示します。こんな感じです。

Dbxi1006a_4 

で、SYSユーザーのテーブル・ビューの一覧をコメント付きで表示させたりすると重いので、オプションを用意しました。

Dbxi1006b

デフォルトでは、「オブジェクトのコメントを表示する」「カラムのコメントを表示する」はオンになっています。後、細かい事ですが、「列」や「フィールド」の名称を「カラム」に統一しました。

« 2007年10月 | トップページ | 2008年1月 »

自作ソフトウェア

無料ブログはココログ

メモ