OSDN Git Service

[#31450] add ScriptContext field into Environment for scripting
[stew/Stew4.git] / MANUAL_ja.md
1 % Stew4 ユーザーマニュアル
2 %
3 % version 4.0
4
5
6 ## Stewとは何ですか?
7
8 Stewは、JDBCを使った小規模なデータベースフロントエンドです。
9 コマンドラインのようなインターフェイスを持っていて、SQLを入力して実行したりできます。
10 ちょっとした処理であれば、バッチのように使用することもできます。
11
12 概要については、README_ja.mdをご覧ください。
13
14
15
16 ## 使用上の注意
17
18
19 ### パスワードの保存方式
20
21 パスワードは、デフォルトではそのまま保存します。
22 生のパスワードを保存したくない場合は、暗号化を利用できます。
23
24 詳しくは、[使い方-接続設定](#接続設定)を参照してください。
25
26
27 ### コネクション切断時はrollbackしない
28
29 デフォルトでは、disconnectコマンドによりコネクションを切断するとき、rollbackを発行しません。
30 DBMSによっては、トランザクションが自動的にコミットされてしまうことがありますので注意が必要です。
31
32 「切断時に自動ロールバック」を設定すると、disconnectの際に自動的にrollbackを発行します。
33 詳細は、[使い方-接続設定](#接続設定)を参照してください。
34
35
36 ### その他
37
38 プロジェクトサイトにて追加説明を行っていますので、あわせてご利用ください。
39
40 <http://stew.sourceforge.jp/>  
41 <http://argius.net/wiki/index.php?Stew%20tutorial> (argius.net)
42
43
44
45 ## インストール
46
47 Java実行環境バージョン6(JRE6)以上がインストールされている必要があります。
48 また、利用するデータベースのJDBCドライバが必要です。
49
50 リリースパッケージ(通常はzipファイル)を任意のディレクトリに展開します。
51
52 インストールサイズを最小限にしたい場合は、
53 リリースパッケージに含まれている"stew.jar"だけを展開してください。
54
55 起動コマンドの設定は、次の起動方法を参照してください。
56
57
58
59 ## 起動方法
60
61 GUIモードで起動する場合は、以下のコマンドを実行します。
62
63     > java -jar stew.jar --gui
64
65 CUIモードで起動する場合は、以下のコマンドを実行します。
66
67     > java -jar stew.jar --cui
68
69
70 起動スクリプトもしくはショートカットやエイリアスを作成しておくと便利です。
71 stew.propertiesに以下の設定を追加すれば、JarファイルのダブルクリックでGUI起動できるようになります。
72
73     stew.boot=GUI
74
75
76 Stewを実行すると、システムディレクトリ".stew"が作成され、設定の保存に使用されます。
77 ".stew"ディレクトリは、デフォルトではカレントディレクトリに作成されます。
78
79
80
81 ## アンインストール
82
83 インストールしたファイルと".stew"ディレクトリを削除してください。
84
85
86 ----------------------------------------------------------------------------------------------------
87
88 ## 使い方
89
90 Stewを使用するには、JDBC接続が可能なデータベースと、JDBCドライバが必要です。
91 JDBCドライバ自体の詳細については、各データベースの説明書などを参照してください。
92
93
94 ### 接続設定
95
96 CUIの場合は、起動時に--editオプションを指定、またはコマンドとして--editを実行すると、
97 編集プログラムが起動します。
98
99 GUIの場合は、メニューの"接続設定"を実行すると、編集ダイアログが開きます。
100
101
102 それぞれの設定項目の説明は次のとおりです。
103
104 コネクタID
105 :   connectコマンドなどに渡すIDです。英数字のみ指定できます。
106
107 コネクタ名
108 :   プロンプトに表示される接続名です。文字制限は特にありません。
109
110 クラスパス
111 :   JDBCドライバのクラスパスを指定します。Javaの-CLASSPATHオプションと同じ形式で指定します。
112
113 ドライバ
114 :   JDBCドライバのDriver実装クラスを指定します。GUIの場合、クラスパスが指定されていれば、
115     "ドライバの検索"から選択できます。
116
117 接続先URL
118 :   JDBCのURL(DriverManager.getConnection(url)に指定するurlと同じもの)を指定します。
119
120 ユーザ
121 :   JDBCのURLと同時に指定するユーザIDを指定します。
122
123 パスワード
124 :   ユーザIDのパスワードを指定します。
125
126 暗号化処理
127 :   パスワードの保存方法を選択します。次項"パスワードの保存について"を参照してください。
128
129 読取専用
130 :   コネクションをREADONLYに設定し、更新の有るコマンドを実行できないようにします。
131     (コマンド側のReadOnlyに拠る。)
132
133 自動ロールバック
134 :   設定すると、切断時に自動でロールバックします。
135
136 これらの情報は、".stew/connectors.properties"に保存されます。
137 手動で編集することもできますが、その際は注意して行ってください。
138
139
140 ### パスワードの保存について
141
142 パスワードは設定ファイルに保存されるため、そのまま保存すると都合が悪い場合があります。
143
144 パスワードの保存方法は、暗号化処理を選択することができます。
145
146 PlainTextPassword
147 :   (デフォルト)パスワードをそのまま保存します。
148
149 PbePassword
150 :   PBE暗号を使用してパスワードを保存します。
151     [メニュー-暗号鍵の入力](#コマンドc---暗号鍵の入力k)で暗号鍵を入力した後、
152     接続設定でパスワードを入力して保存すると、暗号化された状態で保存します。
153     次回起動時、再度暗号鍵を入力するまで、パスワードが復号できなくなります。
154
155 独自のパスワード暗号化を追加することもできます。
156 (実装詳細:Passwordインタフェースの実装クラスを追加します。)
157
158
159 ### 無名接続
160
161 接続設定なしで接続を行うことができます。
162 ドライバが特定できるようになっている必要があります。(次の段落で説明)
163
164     > connect <user>/<password>@<URL>
165     
166     (例)
167     > connect user/password1@jdbc:firebirdsql://127.0.0.1//home/argius/test.fdb
168
169 最も簡単な方法は、ドライバファイルを起動ディレクトリに置くだけです。
170 ドライバ名が指定されていない場合は、このファイルの中を探索してドライバ名を特定します。
171 但し、この探索は時間がかかるので、時間を節約するには"jdbc.drivers"システムプロパティを
172 指定してください。
173
174
175 ### 対話モード
176
177 通常の起動では、対話モードでの操作となります。
178 対話モードでは、コマンド入力待ち状態になった時にコマンドを入力し、
179 処理が終わると再びコマンド入力待ちになります。
180
181
182 ### 一行完結モード(One-Liner)
183
184 Stewの処理が一行の入力で完結します。
185 "stew"コマンドを設定していると仮定すると、次のような形式で実行します。
186
187     > stew <connector-id> <command>
188
189 実行すると、<connector-id>の接続設定で接続を開始し、その接続を使用してコマンドを実行します。
190 コマンド実行後、接続を切断して終了します。
191
192 このモードでは、ご利用のshell環境の制約(例えば、ワイルドカード,リダイレクト など)を
193 受けますのでご注意ください。
194
195
196 ### エイリアス(alias)
197
198 長いコマンドに別名(alias)をつけて、短縮コマンドとして利用できます。
199 詳しくは、コマンド[alias](#alias - エイリアス(コマンド別名)の登録 (組み込みコマンド)),
200 [unalias](#unalias - エイリアス(コマンド別名)の解除 (組み込みコマンド))を参照してください。
201
202
203 ----------------------------------------------------------------------------------------------------
204
205 ## コマンド(Stew内部コマンド)
206
207 組み込みコマンドは、Stewから切り離すことができないコマンドです。
208 それ以外は、追加コマンドとして実装されています。
209 (実装詳細:追加コマンドはCommandクラスのサブクラスによる実装ですが、
210   組み込みコマンドはCommand.invokeメソッドに直接書かれている処理です。)
211
212 コマンドでない文が指定された場合は、SQLとして実行されます。
213 バインド変数のあるSQL文を使う場合は、最後に";"(セミコロン)をつけ、
214 それ以降にカンマ区切りでパラメータを指定できます。
215 この機能は、一部のコマンドでも利用できます。
216
217 組み込みコマンドのうち、connect/-e/-f/alias/unalias/exitは接続時以外でも使用できます。
218
219
220 ### connect - データベースに接続する (組み込みコマンド)
221
222     > connect <connector-id>
223     > -c <connector-id>
224
225 予め用意した接続設定を使用して、データベースに接続します。
226
227 対話モードでは、disconnectまたは強制的に切断されるまで、接続が維持されます。
228 すでに接続中の場合は、その接続を切断してから接続を行います。
229
230
231 ### disconnect - データベースとの接続を切断する (組み込みコマンド)
232
233     > disconnect
234     > -d
235
236 データベースとの接続を切断します。
237
238 接続設定でrollbackを指定している場合は、rollbackを試みます。
239
240
241 ### commit - トランザクションのコミット (組み込みコマンド)
242
243 現在のトランザクションでの変更をコミットします。
244
245 **コミットする際は、誤って必要なデータを削除しないよう注意してください。**
246
247
248 ### rollback - トランザクションのロールバック (組み込みコマンド)
249
250 現在のトランザクションでの変更をロールバックします。
251
252
253 ### -e - 複数コマンドの評価 (組み込みコマンド)
254
255     > -e <コマンド> -e <コマンド> ...
256
257 コマンドを連続して実行させます。
258 exportなどを同時に実行する場合や、コマンドラインからの実行の場合に使います。
259
260
261 ### -f - ファイル内容をコマンドとして実行 (組み込みコマンド)
262
263     > -f <ファイル>
264
265 ファイルの内容をコマンドとして実行します。
266 再帰的に指定できますが、無限ループは検知できないので注意してください。
267
268
269 ### -s - ファイル内容をスクリプトとして実行 (組み込みコマンド)
270
271     > -s <ファイル>
272
273 ファイルの内容をスクリプト(JavaScript)として実行します。
274
275 スクリプト内では、以下の変数が定義済みになります。
276
277  * 接続中のコネクション: connection, conn
278  * パラメーター: parameter, p
279  * 出力制御: outputProcessor, op
280
281
282 ### cd - カレントディレクトリの移動 (組み込みコマンド)
283
284     > cd <ディレクトリ>
285
286 カレントディレクトリを指定したディレクトリに移動します。
287 (このカレントディレクトリはStew内部で管理するものです。)
288
289
290 ### @ - 場所の表示 (組み込みコマンド)
291
292     > @
293
294 カレントディレクトリとシステムディレクトリの場所を表示します。
295
296
297 ### ? - システムプロパティ (組み込みコマンド)
298
299     > ? [<プロパティ名> [<プロパティ名2> ... <プロパティ名n>]]
300
301 指定されたシステムプロパティを表示します。(System.getProperty)
302
303 引数を指定しない場合は、JRE,OS,Localeの情報を表示します。
304
305     > ?
306     JRE : ...
307     OS : ...
308     Locale : ja_JP
309     > ? java.version user.timezone zzz
310     java.version=[1.6.0_##]\r
311     user.timezone=[Asia/Tokyo]\r
312     zzz=undefined\r
313
314
315 ### alias - エイリアス(コマンド別名)の登録 (組み込みコマンド)
316
317     > alias [<エイリアス> [<コマンド>]]
318
319 コマンド別名を登録します。
320 引数が1つで実行した場合は、既に設定されたコマンド内容を表示します。
321 引数なしで実行した場合は、すべての定義済みエイリアスを表示します。
322
323 登録または表示の前にファイルからメモリ上の情報を最新化します。
324 ファイルを直接修正したり、他のスレッドで変更した内容を反映させたい場合は、
325 このコマンドを実行してください。
326 (実装詳細:循環参照などの無限ループ抑制のために、展開の深さは最大100。)
327
328     > alias
329     エイリアスは未定義です。
330     > alias search select * from
331     > alias count select count(*) from
332     > alias search
333     alias search=[select * from]
334     > search table1
335     >> select * from table1
336     (select * from table1 の結果)
337     >
338
339
340 ### unalias - エイリアス(コマンド別名)の解除 (組み込みコマンド)
341
342     > unalias <エイリアス>
343
344 コマンド別名を解除します。解除する対象がない場合は何もしません。
345 解除対象の有無にかかわらず、ファイルからメモリ上の情報を最新化します。
346
347
348 ### exit - 終了 (組み込みコマンド)
349
350     > exit
351
352 Stewを終了します。確認待ちは行いません。
353
354 接続中の全てのコネクションは自動的に切断されます。
355 ロールバックは、自動ロールバックを設定しているコネクタのみ行われます。
356 自動ロールバックについては、[使い方-接続設定](#接続設定)を参照してください。
357
358
359 ### load - ファイルから実行
360
361     > load [<SQLファイル> | <データファイル> <テーブル名> [ HEADER ]]
362
363 指定されたファイルを読み込んで、SQLを実行します。
364
365 パラメータが1個の場合は、ファイルをSQL文と見なして実行します。
366
367 パラメータが2個以上の場合は、ファイルをデータファイルと見なして、インポートを実行します。
368 ファイルの拡張子によって、ファイル形式が自動的に選択されます。
369 (実装詳細:基本的にはimportと同じ動作ですが、バッチ実行ではなく1件ずつ処理されます。)
370
371  *. .csv : CSV形式
372  *. .xml : XML形式(定義:src/net/argius/stew/io/stew-table.dtd)
373  *. 上記以外 : TAB区切りテキスト形式
374
375
376 ### import - ファイルのインポート
377
378     > import [<データファイル> <テーブル名> [ HEADER ]]
379
380 ファイルをデータファイルと見なして、インポートを実行します。
381 ファイルの拡張子によって、ファイル形式が自動的に選択されます。
382 (実装詳細:基本的には、loadのパラメータ2個以上指定した時と同じ動作ですが、
383   Statement.addBatch()を使用します。)
384
385  * .csv : CSV形式
386  * .xml : XML形式(定義:src/net/argius/stew/io/stew-table.dtd)
387  * 上記以外 : TAB区切りテキスト形式
388
389 一括で処理する件数を[#property.Import.batch.limit:プロパティ]で設定することができます。
390
391
392 ### export - 検索結果のエクスポート
393
394     > export <ファイル> [ HEADER ] [command(select|find|report)]
395
396 指定したファイルに、コマンドの検索結果を出力します。
397 ファイルの拡張子によって、ファイル形式が自動的に選択されます。
398
399  * .htm,.html : HTML形式
400  * .csv : CSV形式
401  * .xml : XML形式(定義:src/net/argius/stew/io/stew-table.dtd)
402  * 上記以外 : TAB区切りテキスト形式
403
404
405 ### time - 実行時間計測
406
407     > time [<回数>] <SQL文>
408
409 指定したSQL文を実行し、その実行時間を計測して表示します。
410
411 回数が指定された場合は、回数分SQLを繰り返し実行して、
412 「合計」「平均」「最大」「最小」を集計します。
413 回数を指定しない場合は、1回の実行時間を表示します。
414
415     > time select * from EMPLOYEE
416     実行時間 : 0.093 秒
417     > time 100 select * from EMPLOYEE
418     合計 : 0.484 秒
419     平均 : 0.005 秒
420     最大 : 0.094 秒
421     最小 : 0.000 秒
422     >
423
424
425 ### find - テーブル名検索
426
427     > find <テーブル名パターン> [<テーブル種別パターン> [<スキーマ名パターン> [<カタログ名パターン> [ FULL ]]]]
428
429 参照可能なテーブルの一覧を表示します。
430 "パターン"というキーワードを含むパラメータは、ワイルドカード(#,?)が指定できます。
431
432
433 ### report - データベース情報表示
434
435     > report - | <テーブル名> [ FULL | PK | INDEX ]
436
437 接続中のコネクションに関する情報を表示します。
438
439 -(ハイフン)が指定された場合は、DBとJDBCドライバの名称とバージョン、
440 接続ユーザとアドレスを表示します。
441
442 テーブル名のみが指定された場合は、テーブルの列情報が表示されます。
443
444 テーブル名とオプションが指定された場合は、PKを指定するとプライマリキーの一覧が、
445 INDEXを指定するとインデックスキーの一覧が、それぞれ表示されます。
446 FULLを指定すると、API(DatabaseMetaData#getColumns)が返すすべての列が表示されます。
447
448
449 ### download - 1データごとにダウンロード
450
451     > download <ルートディレクトリ> SELECT <ダウンロードするデータの列> [, ファイルパス...] FROM ...
452
453 1つの列のデータをダウンロードしてファイルに保存します。
454
455 どのデータ型でも利用できます。
456 長めのテキスト項目やラージオブジェクト(BLOB,CLOB)を一挙にファイルに保存する場合などに有用です。
457
458 ファイルは、複数ファイルをダウンロードできるようにするため、
459 データからファイル名を生成できるようになっています。
460
461 ファイル名は、2列目以降の列を文字列として結合したものとなります。
462 これはプライマリキーと拡張子を指定することを想定しています。
463
464     > download emp select FULL_NAME, JOB_COUNTRY, '/', EMP_NO, '.txt' from EMPLOYEE
465     ディレクトリ[./emp/USA]を作成しました。
466     ダウンロードされました。 (0.014 Kbytes, file=[./emp/USA/2.txt])
467     ダウンロードされました。 (0.012 Kbytes, file=[./emp/USA/4.txt])
468      ・
469      ・
470      ・
471     ダウンロードされました。 (0.012 Kbytes, file=[./emp/USA/24.txt])
472     ディレクトリ[./emp/England]を作成しました。
473     ダウンロードされました。 (0.011 Kbytes, file=[./emp/England/28.txt])
474      ・
475      ・
476      ・
477     ダウンロードされました。 (0.018 Kbytes, file=[./emp/USA/145.txt])
478     42 件 ヒットしました。
479
480 データが1件の場合は、データ列のみ指定すれば、
481 ファイルパスの前半部分がそのままファイル名となります。
482
483 同名のファイルが存在したり、ディレクトリ作成時に権限が無い場合はエラーとなり、
484 その時点で処理を中断します。
485
486
487 ### upload - ファイル内容を1データとして登録
488
489     > upload <ファイルパス> <INSERT文 or UPDATE文>
490
491 SQLのプレースホルダで指定された列にファイル内容を登録します。
492
493
494 ### wait - 待機
495
496     > wait 秒(小数第3位まで指定可)
497
498 指定された秒数、待機します。
499
500 連続したコマンドを実行する場合などに使えるかもしれません。
501
502
503
504 ## GUIモード・メニュー
505
506 GUIモードのメニューについての説明です。
507
508
509 ### ファイル(F) - 新しいウィンドウ(N) Ctrl-N
510
511 新しいウィンドウを開きます。
512
513 新しいウィンドウは、元のウィンドウとは独立した接続で処理が行われます。
514
515
516 ### ファイル(F) - 閉じる(C) Ctrl-W
517
518 ウィンドウを閉じます。
519 コネクションが接続中の場合は、確認ダイアログを表示します。
520
521 開いているウィンドウが1つの場合は、終了(X)と同じ動作となります。
522
523
524 ### ファイル(F) - 終了(X) Ctrl-Q
525
526 アプリケーションを終了します。
527 確認ダイアログが表示され、"はい"を選択すると終了します。
528
529
530 ### 編集(E) - 切り取り(T) Ctrl-X
531
532 選択範囲をクリップボードにコピーして、選択された部分を削除します。
533 (基本的に、一般的なアプリケーションと同じ処理です。)
534
535
536 ### 編集(E) - コピー(C) Ctrl-C
537
538 選択範囲をクリップボードにコピーします。
539 (基本的に、一般的なアプリケーションと同じ処理です。)
540
541
542 ### 編集(E) - 貼り付け(P) Ctrl-V
543
544 カーソル位置にクリップボードの内容を貼り付けます。
545 (基本的に、一般的なアプリケーションと同じ処理です。)
546
547
548 ### 編集(E) - すべて選択(A) Ctrl-A
549
550 選択している領域(テーブルまたは入出力欄)を全選択状態にします。
551
552
553 ### 編集(E) - 検索(F) Ctrl-F
554
555 選択している領域(テーブル、テーブル列名、入出力欄、情報ツリー)内の文字列を検索します。
556
557 テーブル、テーブル列名はセル単位で検索します。
558 入出力欄は、一致部分をハイライトします。
559 情報ツリーは、選択しているノードと同じ深さのノードとそれらのサブノード単位で検索します。
560
561 オプションで、「正規表現を使用する」「大文字と小文字を区別しない」が指定できます。
562
563
564 ### 編集(E) - フォーカス切替(G) Ctrl-G
565
566 検索結果エリアと入力欄のフォーカスを入れ替えます(toggle)。
567
568
569 ### 編集(E) - メッセージのクリア
570
571 入出力欄のメッセージをクリアします。
572
573
574 ### 表示(V) - ステータス バー(B)
575
576 選択された場合、ウィンドウの下部にステータスバーを表示します。
577
578 設定は保存されます。
579
580
581 ### 表示(V) - 列番号を表示(C)
582
583 選択された場合、検索結果の列名に番号を付けます。
584
585
586 ### 表示(V) - 情報ツリーペインを表示(I)
587
588 選択された場合、データベース情報ツリーペインを表示します。
589
590
591 ### 表示(V) - 常に手前に表示(T)
592
593 選択された場合、ウィンドウを常に手前に表示するようにします。
594
595
596 ### 表示(V) - 最新状態に更新(R) F5
597
598 検索結果を表示した際のクエリを再発行して、最新状態を表示します。
599
600
601 ### 表示(V) - 列幅を拡大(W) Ctrl-.(period)
602
603 検索結果の列幅をそれぞれ1.5倍に拡大します。
604
605
606 ### 表示(V) - 列幅を縮小(N) Ctrl-,(comma)
607
608 検索結果の列幅をそれぞれ2/3に縮小します。
609
610
611 ### 表示(V) - 列幅を調整(A) Ctrl-/(slash)
612
613 検索結果の列幅を自動調整します。次項の「列幅自動調整」で選択されたモードで調整されます。
614
615
616 ### 表示(V) - 列幅自動調整(M)
617
618 検索結果表示時に、検索結果の列幅を自動調整するモードを選択します。
619
620  * なし(N) : 自動調整を行いません。
621  * ヘッダ基準(H) : ヘッダ名のサイズを基準に、各列幅を自動調整します。
622  * 値基準(V) : 列の中で最も長い値のサイズを基準に、各列幅を自動調整します。
623  * ヘッダと値基準(A) : ヘッダを含めて、列の中で最も長い値のサイズを基準に、各列幅を自動調整します。
624
625
626 ### コマンド(C) - 実行(X) Ctrl-M
627
628 コマンドを実行します。入出力欄でエンターキーを押したのと同じ効果があります。
629
630
631 ### コマンド(C) - 中断(B) Ctrl-Pause(Break)
632
633 コマンドを中断します。サーバ側の処理はキャンセルされません。
634
635
636 ### コマンド(C) - 前のコマンド履歴(P) Ctrl-↑
637
638 コマンド履歴を1つ遡ります。
639
640
641 ### コマンド(C) - 次のコマンド履歴(N) Ctrl-↓
642
643 コマンド履歴を1つ進みます。
644
645
646 ### コマンド(C) - ロールバック(R)
647
648 確認ダイアログを表示し、OKを押すとロールバックを実行します。
649
650
651 ### コマンド(C) - コミット(M)
652
653 確認ダイアログを表示し、OKを押すとコミットを実行します。
654
655
656 ### コマンド(C) - 接続(C) Ctrl-E
657
658 接続リストを表示します。
659 接続リストで接続したい接続IDを選択して"了解"を押すと、connectと同じ処理が実行されます。
660
661
662 ### コマンド(C) - 切断(D) Ctrl-D
663
664 接続を切断します。disconnectコマンドと同じです。
665
666
667 ### コマンド(C) - 終了処理(0)
668
669 コマンドが終了した時、そのウィンドウが非アクティブの場合に
670 通知のために発生させるアクションを設定します。
671
672  * なし(N) : 何もしません。
673  * フォーカス(F) : ウィンドウをフォーカス状態にします。
674    ただし、同じプロセス内のほかのウィンドウがアクティブの場合に限ります。
675    他のプロセスがアクティブの場合はフォーカスされません。
676  * 振動(S) : ウィンドウを振動させます。
677  * 点滅(B) : ウィンドウ内を点滅(緑色)させます。
678
679
680 ### コマンド(C) - 暗号鍵の入力(K)
681
682 起動中のプロセスで接続設定のパスワード暗号化に使用される秘密鍵を入力します。
683
684
685 ### コマンド(C) - 接続設定(E)
686
687 接続設定ダイアログを表示します。
688
689
690 ### データ(D) - 並び替え(S) Alt-S
691
692 検索結果をファイルに出力します。
693 検索結果が表示されている場合のみ有効です。
694
695
696 ### データ(D) - インポート(I)
697
698 検索結果のテーブルにファイルをインポートします。
699 importコマンドとは独立した処理です。検索結果が表示されている場合のみ有効です。
700
701
702 ### データ(D) - エクスポート(E) Ctrl-Shift-S
703
704 検索結果をファイルに出力します。
705 exportコマンドとは独立した処理です。検索結果が表示されている場合のみ有効です。
706
707
708 ### ヘルプ(H) - ヘルプを表示(H)
709
710 ヘルプ(このファイル)をデフォルトブラウザで表示します。
711
712 環境によっては表示できない場合があります。
713
714
715 ### ヘルプ(H) - Stew について(A)
716
717 バージョン情報ダイアログを表示します。
718
719
720
721 ## GUIモード・その他
722
723
724 ### 全体
725
726 テキスト入力欄は共通して、
727 「元に戻す」「やり直す」「切り取り」「コピー」「貼り付け」「すべて選択」の
728 ショートカットが利用できます。
729
730 これらは、コンテキストメニューからも操作できます。
731
732
733 ### 結果テーブル
734
735 検索コマンドを実行したときに、結果を表示します。
736 最左列は行番号が表示されます。列幅自動調整が設定されていれば、列幅が自動的に調整されます。
737
738 セルを編集すると、テーブルに反映(UPDATE)されます。
739 行番号が"+"になっている行は「非リンク行」です。
740 非リンク行については、コンテキストメニューを参照。
741
742
743 ### 入出力欄
744
745 コマンドの入力とメッセージの出力が同居する、コマンドラインのようなインターフェイスです。
746
747 エンターキーを押すと、プロンプトから末尾までがコマンドとして解釈され実行されます。
748 カーソルが末尾にない場合は、カーソルが末尾に移動します。
749 プロンプトより前の部分は編集不可となっています。
750
751 デスクトップからファイルをドロップすると、
752 「パスの貼り付け」「内容の貼り付け」のいずれかが実行できます。
753
754
755 ### ステータスバー
756
757 直前のコマンドとその実行時間が表示されます。
758 実行時間は、timeコマンドとは異なり、コマンドの開始から終了までの所要時間となります。
759
760
761 ### コンテキストメニュー
762
763 マウスの右クリックにより、そのコントロールに即した機能のメニューが表示されます。
764 表示されるメニュー内容は、入力部分ごとに異なります。
765
766 メニューは以下のとおりです。
767
768 この列を並べ替え
769 :   右クリックした列(選択されている列では無く)をソートします。
770     同じ列を続けてソートすると、逆順でソートします。
771
772 コピー
773 :   選択しているセルを、タブ区切りテキスト形式でクリップボードに送ります。
774     タブ文字や改行文字をエスケープしません。
775
776 エスケープ付でコピー
777 :   選択しているセルを、エスケープ付のタブ区切りテキスト形式でクリップボードに送ります。
778     値に改行文字が含まれている場合でも、直接スプレッドシートなどに貼り付けることができます。
779
780 貼り付け
781 :   選択したセルに、クリップボードのデータを貼り付けます(UPDATE)。
782     選択範囲外のデータは無視されます。
783     データより選択範囲が大きい場合でも、貼り付けは繰返されません。
784
785 すべて選択
786 :   すべてのセルを選択状態にします。
787
788 セルの値をクリア
789 :   データ型にかかわらず、選択したセルにNullを設定します(UPDATE)。
790
791 現在時刻の貼り付け
792 :   選択したセルに現在時刻を設定します(UPDATE)。
793
794 列名をコピー
795 :   現在表示しているヘッダの値を、タブ区切りテキスト形式でクリップボードに送ります。
796
797 列名を検索
798 :   現在表示しているヘッダの文字列から列名を検索します。
799
800 新しい行を追加
801 :   表の最後に新しい行を追加します。
802     この時点では、データベースへの反映は行われません(非リンク行)。
803     値を入力した後で「行をデータベースへリンク」を実行すると、データベースへ反映されます。
804
805 クリップボードのデータを追加
806 :   クリップボードのタブ区切りテキストを、データベースに連続して追加します(INSERT)。
807     エラーの場合は、非リンク行となります。
808     中断は強制終了以外できませんので、データ量が多い場合はimportコマンドを推奨します。
809
810 行を複製
811 :   表の最後に選択した行のコピーを追加します。
812     この時点では、データベースへの反映は行われません(非リンク行)。
813     値を入力した後で「行をデータベースへリンク」を実行すると、データベースへ反映されます。
814
815 行をデータベースへリンク
816 :   非リンク行をデータベースへ反映します(INSERT)。
817
818 行を削除
819 :   選択行を削除するのと同時にデータベース上のテーブルから削除します(DELETE)。
820     (非リンク行の場合はDELETEは実行されません。)
821     複数行を選択していても実行できます。
822
823 ※COMMIT,ROLLBACKは手動です。
824
825
826 ### データベース情報ツリー
827
828 データベースのテーブルなどの情報をツリー表示します。
829
830 簡易SQL文自動生成機能が利用できます。
831
832
833 コピー
834 :   ノードの文字列表現をコピーします。
835
836 単純名をコピー
837 :   ノードを表す単純な名称をコピーします。
838
839 完全名をコピー
840 :   カタログ名、スキーマ名を完全修飾した名称をコピーします。
841
842 最新状態に更新
843 :   選択したノードの情報を再読み込みして最新状態に更新します。
844
845 WHERE句条件部を生成
846 :   選択した列の情報からWHERE句より後の部分を生成します。
847
848 SELECT句を生成(WHERE付)
849 :   選択したテーブルと列の情報からSELECT文を生成します。
850     末尾にWHEREキーワードが付きます。
851
852 UPDATE文を生成(WHERE付)
853 :   選択したテーブルと列の情報からUPDATE文を生成します。
854     末尾にWHEREキーワードが付きます。
855     テーブルは1つだけ選択できます。
856
857 INSERT文を生成
858 :   選択したテーブルと列の情報からINSERT文を生成します。
859     テーブルは1つだけ選択できます。
860
861 この列名の列にジャンプ
862 :   結果セットに同じ列名がある場合はその列にジャンプします。
863     ダブルクリックでも同じ効果があります。
864
865 列番号を表示/非表示
866 :   列ノードの番号表示/非表示を切り替えます。 
867
868
869 接続したときに自動で指定したノードを展開する機能があります(実験的機能)。
870
871 システムディレクトリに"autoexpansion.tsv"という名前でファイルを作成します。
872 内容は、展開したいノードのリストを1行毎にTSV形式で記載します。
873 実際にツリーに表示されるノード文字列をTABでつないだものになります。
874
875     # 例: コネクタ"H2 DB1"(IDでなく接続名)のCATALOG1.PUBLIC.TABLE1を展開する
876     H2 DB1(TAB)CATALOG1(TAB)PUBLIC(TAB)TABLE(TAB)TABLE1
877
878
879 ### 設定保存
880
881 以下の設定が、ウィンドウを閉じたとき(終了したときではない)に保存され、
882 次回以降のウィンドウの設定として使用されます。
883
884  * ウィンドウ位置
885  * ウィンドウサイズ
886  * 分割バー位置
887  * ステータスバー(表示/非表示)
888  * 列番号(表示/非表示)
889  * 情報ツリーペイン(表示/非表示)
890  * 常に手前に表示(する/しない)
891  * 列幅自動調整モード
892
893
894 ### メニューのキー割り当て
895
896 システムディレクトリに"keybind.conf"という名前のファイルを作成し、
897 内容には"メニューのアクション名=KeyStrokeの文字列表現"を設定すると、
898 メニューのキー割り当てが変更できます。
899
900 メニュー以外(コンテキストメニューなど)には適用できません。
901
902     # 例
903     # アクション名はsrc/net/argius/stew/ui/window/messages.u8pのMenu.#を参照
904     lastHistory = ctrl K
905
906
907
908 ## プロパティ
909
910 起動時に値を決定できるパラメータです。
911
912 Javaのシステムプロパティ(Javaの-Dオプション)で指定するか、stew.propertiesファイルに記述します。
913 "設定値"は、設定する値についての説明です。設定値のカッコ内の値は既定値です。
914 カッコがないものは既定値がありません。
915
916
917 ### net.argius.stew.properties - プロパティファイルの場所
918
919 設定値:ファイルまたはディレクトリのパス
920
921 stew.propertiesファイルを優先的に検索する場所を指定します。
922
923 指定されたパスがファイルの場合は、そのファイルをstew.propertiesの代わりに
924 プロパティファイルとして読み込みます。
925
926 指定されたパスがディレクトリの場合は、そこにstew.propertiesがあるものとみなされます。
927
928 指定されない場合は、クラスパス、システムディレクトリの順に検索されます。
929 無い場合はプロパティファイルが無いものとみなされます。
930
931
932 ### net.argius.stew.directory - 作業ディレクトリ
933
934 設定値:ディレクトリパス(カレントディレクトリ)
935
936 コマンドで使用するディレクトリの開始時のパスを指定します。
937 デフォルトシステムディレクトリとは異なります。
938
939
940 ### net.argius.stew.query.timeout - クエリのタイムアウト値
941
942 設定値:整数秒(0)
943
944 コマンド内のクエリが発行時に設定するタイムアウト値を指定します。
945 0以下はタイムアウト未指定とみなされます。
946
947 (実装詳細:java.sql.Statement#setQueryTimeoutに設定する値。)
948
949
950 ### net.argius.stew.rowcount.limit - 出力件数の上限
951
952 設定値:上限値(Max=Integer.MAX_VALUE≒2,147,000,000)
953
954 検索結果を出力する上限件数を設定します。exportなどには適用されません。
955
956
957 ### net.argius.stew.command.Import.batch.limit - Importのバッチ数の上限値
958
959 設定値:上限値(10000)
960
961 Importコマンドで一度に実行する件数の上限値を決定します。
962
963
964 ### net.argius.stew.ui.window.resident - Windowの常駐
965
966 設定値:整数分
967
968 **実験的な機能です。**
969
970 指定した分ごとに画面の再描画を行い、アプリケーションがスワップアウトしないようにします。
971
972
973 ### Loggerの設定
974
975 Stew4は標準のLoggingAPIを(ラップして)使用しています。
976
977 ログ出力を有効にする場合は、システムプロパティ"java.util.logging.config.file"を設定します。
978
979 以下は起動オプションの例。
980
981     -Djava.util.logging.config.file=logging.properties
982
983
984 ----------------------------------------------------------------------------------------------------