FrontPage  Index  Search  Changes  Login

T. Yoshiizumi - yadosql_guide Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

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

最終更新日:  2009/11/03

{{toc_here}}

!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 視覚障害者、弱視、盲ろう者のための統合フリーウェア アルティア|http://www.normanet.ne.jp/~ALTAIR/]]

 次のようにすれば、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 ↓{{br}}と起動すれば、Yado> という入力を促すプロンプトが出ます。通常は、最初に、データベースを作る create database コマンドや、接続するための use コマンドを入力することになります。

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

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

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

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

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

 起動時に -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|http://exerb.sourceforge.jp/]]

 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.

----

*[[yado紹介ページ|http://cup.sakura.ne.jp/yado.htm]]
*[[トップページ|http://cup.sakura.ne.jp/index.htm]]