MSDE2000に簡単にSQL文を発行するツール

■ひきつづきマイクロソフトの無償リレーショナルデータベースMSDE2000を、かんたんなデータ蓄積の目的で使う方法について書くことにする。
先に述べたようにExcelに付属しているデータ取り出し機能を使えば、パソコンに対して管理者権限がなくてもデータソースの新規作成をして、ネットワーク経由でMSDE2000に接続できる。
しかし、テーブルやビューの作成などのSQL文を発行するのに、わざわざVBScriptやVisual Basic for Applicationsでプログラムを書くのは面倒なので、Oracleでいう「SQL*Plus」のようにSQLコマンドを直接サーバ上のMSDE2000に向かって発行できるツールがあると便利である。
そこでvectorで無償のツールを探してみたところ最適なツールが見つかった。acure氏作成の「Microsoft SQL Server 2000 / MSDE」向け超簡易SQL発行ツール MSQLW.exeである。このツールの良いところは、ADOがインストールされている通常のWindowsパソコンであれば、パソコンに対して管理者権限がなくても、ただ実行形式ファイルを実行するだけで使える点だ。vectorからダウンロードしたファイルをマイドキュメントなどのフォルダ内に解凍するだけで使える。
ダウンロードして解凍した後の「MSQLW.exe」というファイルを実行し、最初に左上隅の「接続/切断」ボタンをクリックしてログインする。「Server」欄にはMSDE2000のインストールされているコンピュータのIPアドレス、「login name」欄にはMSDE2000のユーザID、「passwd」欄には同じくそのパスワードを入力する。実行するたびにログインしなければならないのがやや面倒だが、OracleのSQL*Plusも同様なのでまあいいだろう。
次に「DB」という名前のプルダウンリストから、使用するデータベース名を選択すると、その下に自動的にテーブル名一覧が表示される。このテーブル一覧から、任意のテーブル名をダブルクリックすると、自動的に「SELECT * FROM テーブル名」というSQL文が発行され、右下のグリッドにデータ一覧が表示される。非常に便利である。
残念ながらこのグリッドではデータの編集はできない。逆に、かんたんにデータの編集が出来てしまったのでは困る場合もあるので、仕様としては正しい仕様だろう。自分でSQL文を発行したい場合は、右上のテキストエリアにSQL文を入力してから、SELECT文なら「Select」ボタンを、それ以外の作成・削除・更新系のSQL文なら「Execute」ボタンをクリックすれば、そのSQL文が実行される。テーブル内容をグリッド画面で確認できる点では、OracleのSQL*Plusよりも数段使いやすい。
この「MSQLW.exe」をSQL*Plus代わりに利用すれば、ネットワーク経由でMSDE2000に接続して、自由にテーブルやビューの作成、データ内容の確認ができる。「MSQLW.exe」を補助ツールとしてテーブルやビューの定義を行いながら、Excelのデータ抽出機能をエンドユーザに提供する。このような組合せで開発をすすめれば、お金をかけずに簡単なデータウェアハウスっぽいデータ蓄積・データ検索のしくみを社内で開発することもできる。何よりExcelという、エンドユーザがある程度使いなれたツールでデータ抽出機能を提供できる点が、この方法の便利なところだ。
もちろん運用ではMSDE2000に蓄積されたデータのバックアップはどうするのかなどの問題はあるが、そのあたりは専門書やマイクロソフトのMSDNのWebサイトをご参照頂きたい(というより僕自身がまだ調査しきれていないのだが、まあMSDE2000のサービスを夜間の一定時間停止して、その間にMSDE2000のデータファイルを丸ごとコールドバックアップしておけば大丈夫だろう)。
ちょっとしたデータベースアプリケーションを開発する場合、Windowsプラットフォームを使うという前提で、これでもまだ、わざわざ文字化けの回避が難しいMySQLを使う意味があるかどうか。微妙なところではないだろうか。