FrontPage  Index  Search  Changes  Login

yadosql.exeの使い方

yadosql.exe データベース・クライアント
Access,Excelファイルの処理

最終更新日: 2009/11/03

1. yadosql.exeの役割

 AccessおよびExcelのファイルをSQL命令で操作したい時に yadosql.exe を使うことができます。

 標準入力・出力・エラー出力による単純なユーザーインターフェースです。

 標準入力から入力されたSQL命令が実行され、その結果が標準出力・標準エラー出力に出力されます。


2. 動作環境

 Windows XP, VISTA で動作します。それ以外の Windows でも、ADOがインストールされていれば動作すると思います。

 Access, Excel あるいは ruby がインストールされていないパソコンでも大丈夫です。

 Windowsのコマンドライン(DOSプロンプト)で動かします。

 視覚障害者に使いやすいよう配慮されたソフト Altair(注)の DOS shell mode でも動作します。その場合、-f という起動オプションを指定します。

(注) ALTAIR for Windows 視覚障害者、弱視、盲ろう者のための統合フリーウェア アルティア

 次のようにすれば、SQL命令を予めファイルに書いておき、それを一括して実行することができます。

 C:\>yadosql.exe < input.txt ↓

 input.txtは、テキストファイルです。SQL命令を記述しておきます。例えば、次のような内容です。

 −−−−
     # データベースの作成と接続
 create database TEST.MDB;
 use TEST.MDB;
     # テーブルの作成
 create table tbl01
    (ID int PRIMARY KEY,
     name varchar(30) NOT NULL,
     height float,
     birthday date,
     qualified yesno);
     # テーブルにレコードを挿入
 insert into tbl01 (ID, name, height, birthday, qualified)
     values(1, '高橋', 172.3, #1994/10/15#, no);
 −−−−

(注) 半角の '#' で始まる先頭行は、コメントとして無視します。ただし、コマンドが複数行に渡って書かれている時に、第2行目以降に '#' で始まる行があってもコメントとみなさないので注意して下さい。


3. 起動の仕方

  C:\>yadosql.exe ↓
と起動すれば、Yado> という入力を促すプロンプトが出ます。通常は、最初に、データベースを作る create database コマンドや、接続するための use コマンドを入力することになります。

  C:\>yadosql.exe test.mdb ↓
とすると、test.mdb に接続した状態になります。test.mdbが存在しない時は、新規に作成します。直ちにSQL命令を実行できる状態になっているはずです。

○ ユーザー名とパスワードの指定

 起動時にユーザー名、パスワードを指定できるようになっていますが、実質的な意味はほとんどありません。ただ、パスワードでセキュリティがかけられたファイルを操作する時は、それらを指定します。例えば、

  C:\>yadosql.exe -u admin --password=xyz123 test.mdb ↓
のように起動します。

○ 起動直後に実行するコマンドをファイルから読み込む

 起動時に -s または --source オプションでファイル名を指定すると、起動直後に、そのファイルの内容をコマンドとして実行します。

   C:\>yadosql.exe -s A:\sql\input.txt ↓
   C:\>yadosql.exe -sA:\sql\input.txt ↓
   C:\>yadosql.exe --source=A:\sql\input.txt ↓

 なお、ファイルの中に exit または quit という行があると、その時点でyadosql.exeが終了します。

○ ALTAIRのDOS shell modeで使う時の -f オプション

 視覚障害者に使いやすいよう配慮されたソフト ALTAIR の DOS shell mode で起動する時は、逐一 出力をフラッシュする必要があるため、-f または --flush を付けて起動します。

 C:\>yadosql.exe -f test.mdb ↓

 この -f オプションは、通常のDOSプロンプトで起動する時に付けると、逆に出力が円滑に行われなくなることがあるので注意して下さい。

 なお、ALTAIRは、起動後に「ALTキー → D → S」の3ストロークのキー入力で DOS shell mode になります。そのmodeから抜け出すには exit の4文字を入力後にエンターキーを押します。


4. 起動後の操作

 起動すると、最初の「ようこそ」メッセージが出た後で、Yado> というプロンプトが出ます。

 そこでキーボードからコマンドなどを打って、半角の ';' (セミコロン)に続いてエンターキーを入力すると、コマンドが実行されます。

 コマンドは、複数行に渡って書くことができるので、単にエンターキーを押しただけでは実行されません。';' を入力してからエンターキーを押します。

 コマンドが複数行に渡るとき、2行目以降のプロンプトは Yado> ではなく -> となります。

 yadosqlを終了させたい時は、exit quit \q のいずれかを入力してエンターキーを押します。これには ';' を付けなくて大丈夫です。

 また、help と打ってエンターキーを押すと、コマンドの一覧が出力されますので参考にして下さい。

 以下にその一覧を掲げておきます。

  • exit: 終了 [¥q, quit]
  • help: ヘルプメッセージの出力 [¥h, ¥?]
  • source input.txt: 入力すべき内容をファイルから読み込む [¥.]
  • load input.xml table_name: xml|adtgを読み込んでテーブルを作成 [¥l]
  • tee output.txt: 作業中の出力を総てoutput.txtに出力する [¥T]
  • notee: teeによるファイル出力指定を解除 [¥t]
  • xtee output.xml: SQLの実行結果をoutput.xmlに出力する [¥x]
  • clear: 入力中のコマンドを消去する(最初から入力し直す時に指定) [¥c]
  • go: 入力されているコマンドを実行する [¥g]
  • system application.exe: 外部コマンドを実行する [¥!]
  • create database test.mdb: データベース test.mdb を新たに作成
  • use test.mdb: データベース test.mdb に接続 [¥u]
  • drop database test.mdb: データベース test.mdb を削除(操作中のものは不可)
  • show tables: データベース中のテーブル一覧を表示。detail付加により詳細情報
  • show fields: フィールド情報の一覧を表示。テーブル名指定も可
  • show error: 最新のエラーメッセージを表示
  • show database: 接続中のデータベース名を表示(複数形でないので注意)
  • select database(): 上と同じ

 上記において、例えば source のところに [\.] とあるのは、source の代わりに \. の2文字を使うことができることを意味しています。

 「source input.txt」は、「\. input.txt」と書くことができます。

 「show tables」は、標準テーブルの名前を出力します。

 「show tables detail」とすれば、標準テーブルと仮装テーブル(VIEW)について名前、種類、作成日時、更新日時を出力します。

 「show fields」は、データベース中の総ての標準テーブルと仮装テーブルのフィールド情報を出力します。

 「show fields tbl01」とすれば、テーブル tbl01 のフィールド情報を出力します。

 「show database」は、現在アクセス中のデータベースの名前を出力します。複数のデータベースをまとめて管理する体制でないため、1つのデータベース名しか出力しないのでご注意ください。


5. SQL命令などの実行結果の表示

 実行結果が表の形のものは、なるべく桁位置を揃えて表らしく出力します。ただ、横幅が80桁を超える時は箇条書き風に変換して出力します。

   C:\>yadosql.exe < input.txt > output.txt ↓

のように出力がリダイレクトされている時は、タブ区切りの形で出力します。ただし、-f オプションを付けて起動すると、出力がリダイレクトされていても、桁位置を揃えたり箇条書き風にして出力します。


6. その他

 yadosql.exeは、yadosql.rb, yado.rb, win32ole.so をパックにしてアプリケーション化したものです。exerbによってexeファイルを生成しました。

参考サイト:Exerb Project

 rubyが動く環境にある場合は、yadosql.exeを起動する代わりに

   C:\>ruby.exe -KS yadosql.rb test.mdb ↓

のようにしても同じです。yado.rbは、カレントフォルダまたはrubyのライブラリパスの通ったフォルダに置く必要があります。

 yadosql関連のライセンスは、「GNU一般公衆利用許諾契約書(GNU General Public License)」に従います。複製や改変は基本的に自由です。著作権は T. Yoshiizumi が有します。

参考サイト: http://www.gnu.org/licenses/gpl-faq.ja.html

Copyright (C) T. Yoshiizumi, 2009 All rights reserved.


Last modified:2009/11/09 22:07:31
Keyword(s):
References: