2017.01.12
Paul Tuohy 著

データベースの IBM i Access Clientソリューション

もしあなたがSQL ユーザーならば、IBM i Access Client ソリューションを手に入れる必要があります。出だしは多少失敗しても、SQL の開発と使用に役立つツールを提供するという点では、IBM は正しい方向に向かっているようです。IBM i Access Client ソリューションのデータベース機能をいくつか詳しくお話したいと思います。

背景

過去数年間、SQL 開発者に適したツールを見つけようとかなり大変な努力をしてきました。System i Navigator の Run SQL Scripts、System i Navigator および Navigator for i の DDL ウィザード、System i Navigator および Navigator for i の Database Maintenance and Plan Cache 機能、RDi の Database Perspective、Data Studio、グリーン・スクリーンの Start SQL (STRSQL)、SQuirrelSQL などのオープン・ソース・データベース・インターフェースがありました。みなさんこれらのツールのいくつかを置き換え・組み合わせて使用していたのではないかと思います。
たとえ、これらが純粋に Visual Explain にアクセスできる唯一のツールだったとしても、これらのツールの中で最も便利なものは、間違いなく System i Navigator の Run SQL Scripts でした。残念ながら、IBM は Windows 10 での System i Navigator のサポートを発表しませんでした。
そこで登場したのが IBM i Access Client ソリューション (ACS) でした。ACS は (まだ) System i Navigator で利用できるフル機能を提供してはいませんが、そこにあった利点はいくつか提供しています。

主な利点

データベース開発者の視点から見た ACS の主な利点は以下のとおりです。

  • ACS はプラットフォームに依存しない。Java ベースである。これだけで Mac ユーザーがどれだけ喜ぶかわかりません。
  • Run SQL Scripts が機能強化されている。
  • Run SQL Scripts が Visual Explain を備えている。
  • Run SQL Scripts は RDi 内から起動できる。

始めましょう

ACS を起動すると、図1 のようなウィンドウが表示されます。Management セクションの System Configurations を使用してシステムへの接続を定義します。1 つ以上接続を定義したら、メニュー上部のドロップダウン・ボックスから接続先のシステムを選択することができます。

技術情報01

対象となる項目は Database セクションのRun SQL Scripts and SQL Performance Center にあります。

Run SQL Scripts

図2 でおわかりのように、一見すると Run SQL Scripts は我々が慣れ親しんでいるものに驚くほどよく似ています。

技術情報02

しかし、図3 のように Run SQL Scripts を使用し始めると、まず大きな違いが目に入ります。コードが色分けされています。

技術情報03

色分けだけでなく、いくつか機能強化も見られます。そのいくつかを、詳しく見ていきましょう。

  • 行番号の表示。このオプションは View メニューから有効または無効にできます。
  • SQL ステートメントのフォーマット。
  • コメントの切り替え。多数の行のコメントを素早く挿入したり、コメントを外したりします。Edit メニューでコンテキスト・メニューまたはショートカット・キーが利用できます。
  • Insert from Examples が大きく機能強化されています。
  • Global Variables ペインには、Global Variables と Special Registers が表示されます。
    Show Message/Global Variables ペインと Special Registers ペインは、別ウィンドウになっています。
  • 複数の JDBC 接続設定を構成し、使用したい接続を選択します。

作成時に、以下のようなもう利用できなくなった項目もいくつかあります (後になってこっそり戻ってくるかもしれませんが)。

  • Insert Generated SQL。
  • SQL Assist/Prompt CL。
  • Defer Run History と Change Query Attributes のオプションは、 Options メニューから削除されました。
  • SQL Performance Monitor の起動と管理を可能にした Monitor のメニュー・オプション。

少なくとも、これらの項目のいくつかは今後のリリースで予定されています。詳細はhttp://www.ibm.com/support/docview.wss?uid=nas8N1019797をご覧ください。 メニュー項目もいくつか、以下のように場所が移動されました。

  • Clear Message と Close All Results は Edit メニューから View メニューに移動しました。
  • Options メニューの項目の順序が異なっています。

また、ショートカット・キーがあります。Run All、Run from Selected、および Run Selected のショートカット・キーは Ctrl+R、Ctrl+T、および Ctrl+Y から Ctrl+Shift+A、Ctrl+Shift+R、および Ctrl R に変更されました (Mac の場合は Command+Shift+A、Command+Shift+R、および Command R)。

SQL のフォーマット

カーソルをステートメントに合わせ、Edit>SQL Formatter>Format Selected または同等のショートカット・キー (Mac の場合は Shift Command F) を選択することで、SQL ステートメントをフォーマットできます。
ステートメントをフォーマットする前に、まずどのようにフォーマットするか構成したいかと思います。Edit>SQL Formatter>Configure を選択して、図4 のような構成オプションを表示します。

技術情報04

Insert From Examples

これまでは、Insert from Examples について、これは善意で作られていたものの、用例は見つけにくく、ほとんど実用性がないというのが精一杯でした。それがまったく変わりました。
Edit>Insert from Examples を選択して、図5 のようなウィンドウを表示します。用例は、ドロップダウン・リスト形式の見つけやすいカテゴリーにグループ化されています。「新しい」IBM i Services の用例は極めて便利だと思いました。

技術情報05

Run SQL Scripts と RDi

RDi では、Run SQL Scripts のオプションは Source メニューから利用できます。組み込み SQL でプログラムを編集している場合、SQL ステートメントを選択し、Run SQL Scripts を選択すると、ステートメントがコピーされた状態で Run SQL Scripts が表示されます。
当初は、組み込み SQL ソースを編集してからでないと Run SQL Scripts のオプションがメニューに表示されなかったのですが、それが (幸いにも) 修正された、あるいは修正されようとしています。

SQL Performance Center

SQL Performance Center では、図6 のように、Performance Monitors と Plan Cache を操作するオプションが指定できます。これは、その時点でインターフェースは異なりますが、System i Navigator で利用できた同じ機能です。

技術情報06

将来は?

その質問には IBM だけが回答できます。私としては、引き続き ACS と RDi が調和して機能拡張されることを望んでいます。長期的には、すべてのデータベース機能が System i Navigator の Web インターフェースから削除され、ACS と RDi に組み込まれるようになって欲しいと思います。
即座に役立つのは Insert Generated SQL と SQL Assist/Prompt CL の Run SQL Scripts への追加でしょう。Index Advisor に続き、Database Maintenance Functions があります。データベースの定義と保守には一連の DDL ウィザードがあります。
まだ道半ばではありますが、幸先の良いスタートが切られたのではないかと思います。詳しくは、これからも http://www.ibm.com/support/docview.wss?uid=nas8N1019797 を常にチェックしようと思います。

ページトップ

ボタン