OSDN Git Service

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