xobQuery:DB処理の原型から始めよう

xobQuery(ゾブクエリ)入門者の皆様のために、DB処理の原型(ひな形)をご用意しました。CSVファイルをスクラッチDBに投入し、クエリ(SQLで処理した結果をXMLファイルに出力する最初のモデルです。

DB処理原型の青写真

f:id:xoblos:20210803001841p:plain

フォルダ構成例

f:id:xoblos:20210802232821p:plain

 [DB]   DBファイル(temp.db)を残すときの置き場所。

[INPUT]  入力ファイルを置きます。

[OUTPUT] 出力ファイルを置きます。

[SQL]   クエリ(SQL)を .sql ファイルに記述するときの置き場所。

原型.xbt(または .xob) 業務定義ファイル

原型.xbt(または .xob)の設定画面

[新しい手順]-[外部のアプリケーションを実行] メニューで手順を作成し、設定します。

「実行するファイル」::\helper\xobquery.exe にし、「作業フォルダ」は通常 .(ピリオド)として xbt(xob)ファイルのあるカレントフォルダとします。

f:id:xoblos:20210803153645p:plain

コマンドライン引数

-i INPUT\input.csv/work -h -q "SELECT * FROM work;" -o OUTPUT\output.xml

-i INPUT\input.csv/work    … INPUTフォルダのinput.csvをworkテーブルに投入
-h                         … 入力ファイルの1行目をヘッダー(項目名)とする
-o OUTPUT\output.xml       … クエリの結果を、OUTPUTフォルダのoutput.xmlに出力する

-q "SELECT * FROM work;" の部分で、クエリ(SQL)を直接コマンドラインで指定しています。

-Q SQL\all.sql のように、クエリ(SQL)を記述したファイル名(パス)を指定することもできます。この場合は、[SQL] フォルダの all.sql の中に "SELECT * FROM work;" と記述してファイル保存しておきます。

-i INPUT\input.csv/work -h -Q SQL\all.sql -o OUTPUT\output.xml

INPUT\input.csv の例

都道府県コード,都道府県名
01,北海道
02,青森県
03,岩手県
04,宮城県
05,秋田県
06,山形県
07,福島県
08,茨城県
09,栃木県
10,群馬県
11,埼玉県
12,千葉県
13,東京都
14,神奈川県
15,新潟県
16,富山県
17,石川県
18,福井県
19,山梨県
20,長野県
21,岐阜県
22,静岡県
23,愛知県
24,三重県
25,滋賀県
26,京都府
27,大阪府
28,兵庫県
29,奈良県
30,和歌山県
31,鳥取県
32,島根県
33,岡山県
34,広島県
35,山口県
36,徳島県
37,香川県
38,愛媛県
39,高知県
40,福岡県
41,佐賀県
42,長崎県
43,熊本県
44,大分県
45,宮崎県
46,鹿児島県
47,沖縄県

OUTPUT\output.xml 出力結果

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
  <ROWS>
    <都道府県コード>01</都道府県コード>
    <都道府県名>北海道</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>02</都道府県コード>
    <都道府県名>青森県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>03</都道府県コード>
    <都道府県名>岩手県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>04</都道府県コード>
    <都道府県名>宮城県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>05</都道府県コード>
    <都道府県名>秋田県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>06</都道府県コード>
    <都道府県名>山形県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>07</都道府県コード>
    <都道府県名>福島県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>08</都道府県コード>
    <都道府県名>茨城県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>09</都道府県コード>
    <都道府県名>栃木県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>10</都道府県コード>
    <都道府県名>群馬県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>11</都道府県コード>
    <都道府県名>埼玉県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>12</都道府県コード>
    <都道府県名>千葉県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>13</都道府県コード>
    <都道府県名>東京都</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>14</都道府県コード>
    <都道府県名>神奈川県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>15</都道府県コード>
    <都道府県名>新潟県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>16</都道府県コード>
    <都道府県名>富山県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>17</都道府県コード>
    <都道府県名>石川県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>18</都道府県コード>
    <都道府県名>福井県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>19</都道府県コード>
    <都道府県名>山梨県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>20</都道府県コード>
    <都道府県名>長野県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>21</都道府県コード>
    <都道府県名>岐阜県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>22</都道府県コード>
    <都道府県名>静岡県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>23</都道府県コード>
    <都道府県名>愛知県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>24</都道府県コード>
    <都道府県名>三重県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>25</都道府県コード>
    <都道府県名>滋賀県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>26</都道府県コード>
    <都道府県名>京都府</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>27</都道府県コード>
    <都道府県名>大阪府</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>28</都道府県コード>
    <都道府県名>兵庫県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>29</都道府県コード>
    <都道府県名>奈良県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>30</都道府県コード>
    <都道府県名>和歌山県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>31</都道府県コード>
    <都道府県名>鳥取県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>32</都道府県コード>
    <都道府県名>島根県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>33</都道府県コード>
    <都道府県名>岡山県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>34</都道府県コード>
    <都道府県名>広島県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>35</都道府県コード>
    <都道府県名>山口県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>36</都道府県コード>
    <都道府県名>徳島県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>37</都道府県コード>
    <都道府県名>香川県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>38</都道府県コード>
    <都道府県名>愛媛県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>39</都道府県コード>
    <都道府県名>高知県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>40</都道府県コード>
    <都道府県名>福岡県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>41</都道府県コード>
    <都道府県名>佐賀県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>42</都道府県コード>
    <都道府県名>長崎県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>43</都道府県コード>
    <都道府県名>熊本県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>44</都道府県コード>
    <都道府県名>大分県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>45</都道府県コード>
    <都道府県名>宮崎県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>46</都道府県コード>
    <都道府県名>鹿児島県</都道府県名>
  </ROWS>
  <ROWS>
    <都道府県コード>47</都道府県コード>
    <都道府県名>沖縄県</都道府県名>
  </ROWS>
</Root>