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]]
{{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]]