OSDN Git Service

fixed bug: ctrl shift MINUS was not bound to ResultSetTable->deleteRows
[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 - | <テーブル名> [ PK | INDEX ]
415
416 接続中のコネクションに関する情報を表示します。
417
418 -(ハイフン)が指定された場合は、DBとJDBCドライバの名称とバージョン、
419 接続ユーザとアドレスを表示します。
420
421 テーブル名のみが指定された場合は、テーブルの列情報が表示されます。
422
423 テーブル名とオプションが指定された場合は、PKを指定するとプライマリキーの一覧が、
424 INDEXを指定するとインデックスキーの一覧が、それぞれ表示されます。
425
426
427 ### download - 1データごとにダウンロード
428
429     > download <ルートディレクトリ> SELECT <ダウンロードするデータの列> [, ファイルパス...] FROM ...
430
431 1つの列のデータをダウンロードしてファイルに保存します。
432
433 どのデータ型でも利用できます。
434 長めのテキスト項目やラージオブジェクト(BLOB,CLOB)を一挙にファイルに保存する場合などに有用です。
435
436 ファイルは、複数ファイルをダウンロードできるようにするため、
437 データからファイル名を生成できるようになっています。
438
439 ファイル名は、2列目以降の列を文字列として結合したものとなります。
440 これはプライマリキーと拡張子を指定することを想定しています。
441
442     > download emp select FULL_NAME, JOB_COUNTRY, '/', EMP_NO, '.txt' from EMPLOYEE
443     ディレクトリ[./emp/USA]を作成しました。
444     ダウンロードされました。 (0.014 Kbytes, file=[./emp/USA/2.txt])
445     ダウンロードされました。 (0.012 Kbytes, file=[./emp/USA/4.txt])
446      ・
447      ・
448      ・
449     ダウンロードされました。 (0.012 Kbytes, file=[./emp/USA/24.txt])
450     ディレクトリ[./emp/England]を作成しました。
451     ダウンロードされました。 (0.011 Kbytes, file=[./emp/England/28.txt])
452      ・
453      ・
454      ・
455     ダウンロードされました。 (0.018 Kbytes, file=[./emp/USA/145.txt])
456     42 件 ヒットしました。
457
458 データが1件の場合は、データ列のみ指定すれば、
459 ファイルパスの前半部分がそのままファイル名となります。
460
461 同名のファイルが存在したり、ディレクトリ作成時に権限が無い場合はエラーとなり、
462 その時点で処理を中断します。
463
464
465 ### upload - ファイル内容を1データとして登録
466
467     > upload <ファイルパス> <INSERT文 or UPDATE文>
468
469 SQLのプレースホルダで指定された列にファイル内容を登録します。
470
471
472 ### wait - 待機
473
474     > wait 秒(小数第3位まで指定可)
475
476 指定された秒数、待機します。
477
478 連続したコマンドを実行する場合などに使えるかもしれません。
479
480
481
482 ## GUIモード・メニュー
483
484 GUIモードのメニューについての説明です。
485
486
487 ### ファイル(F) - 新しいウィンドウ(N) Ctrl-N
488
489 新しいウィンドウを開きます。
490
491 新しいウィンドウは、元のウィンドウとは独立した接続で処理が行われます。
492
493
494 ### ファイル(F) - 閉じる(C) Ctrl-W
495
496 ウィンドウを閉じます。
497 コネクションが接続中の場合は、確認ダイアログを表示します。
498
499 開いているウィンドウが1つの場合は、終了(X)と同じ動作となります。
500
501
502 ### ファイル(F) - 終了(X) Ctrl-Q
503
504 アプリケーションを終了します。
505 確認ダイアログが表示され、"はい"を選択すると終了します。
506
507
508 ### 編集(E) - 切り取り(T) Ctrl-X
509
510 選択範囲をクリップボードにコピーして、選択された部分を削除します。
511 (基本的に、一般的なアプリケーションと同じ処理です。)
512
513
514 ### 編集(E) - コピー(C) Ctrl-C
515
516 選択範囲をクリップボードにコピーします。
517 (基本的に、一般的なアプリケーションと同じ処理です。)
518
519
520 ### 編集(E) - 貼り付け(P) Ctrl-V
521
522 カーソル位置にクリップボードの内容を貼り付けます。
523 (基本的に、一般的なアプリケーションと同じ処理です。)
524
525
526 ### 編集(E) - すべて選択(A) Ctrl-A
527
528 選択している領域(テーブルまたは入出力欄)を全選択状態にします。
529
530
531 ### 編集(E) - 検索(F) Ctrl-F
532
533 選択している領域(テーブル、テーブル列名、入出力欄、情報ツリー)内の文字列を検索します。
534
535 テーブル、テーブル列名はセル単位で検索します。
536 入出力欄は、一致部分をハイライトします。
537 情報ツリーは、選択しているノードと同じ深さのノードとそれらのサブノード単位で検索します。
538
539 オプションで、「正規表現を使用する」「大文字と小文字を区別しない」が指定できます。
540
541
542 ### 編集(E) - フォーカス切替(G) Ctrl-G
543
544 検索結果エリアと入力欄のフォーカスを入れ替えます(toggle)。
545
546
547 ### 編集(E) - メッセージのクリア
548
549 入出力欄のメッセージをクリアします。
550
551
552 ### 表示(V) - ステータス バー(B)
553
554 選択された場合、ウィンドウの下部にステータスバーを表示します。
555
556 設定は保存されます。
557
558
559 ### 表示(V) - 列番号を表示(C)
560
561 選択された場合、検索結果の列名に番号を付けます。
562
563
564 ### 表示(V) - 情報ツリーペインを表示(I)
565
566 選択された場合、データベース情報ツリーペインを表示します。
567
568
569 ### 表示(V) - 常に手前に表示(T)
570
571 選択された場合、ウィンドウを常に手前に表示するようにします。
572
573
574 ### 表示(V) - 最新状態に更新(R) F5
575
576 検索結果を表示した際のクエリを再発行して、最新状態を表示します。
577
578
579 ### 表示(V) - 列幅を拡大(W) Ctrl-.(period)
580
581 検索結果の列幅をそれぞれ1.5倍に拡大します。
582
583
584 ### 表示(V) - 列幅を縮小(N) Ctrl-,(comma)
585
586 検索結果の列幅をそれぞれ2/3に縮小します。
587
588
589 ### 表示(V) - 列幅を調整(A) Ctrl-/(slash)
590
591 検索結果の列幅を自動調整します。次項の「列幅自動調整」で選択されたモードで調整されます。
592
593
594 ### 表示(V) - 列幅自動調整(M)
595
596 検索結果表示時に、検索結果の列幅を自動調整するモードを選択します。
597
598  * なし(N) : 自動調整を行いません。
599  * ヘッダ基準(H) : ヘッダ名のサイズを基準に、各列幅を自動調整します。
600  * 値基準(V) : 列の中で最も長い値のサイズを基準に、各列幅を自動調整します。
601  * ヘッダと値基準(A) : ヘッダを含めて、列の中で最も長い値のサイズを基準に、各列幅を自動調整します。
602
603
604 ### コマンド(C) - 実行(X) Ctrl-M
605
606 コマンドを実行します。入出力欄でエンターキーを押したのと同じ効果があります。
607
608
609 ### コマンド(C) - 中断(B) Ctrl-Pause(Break)
610
611 コマンドを中断します。サーバ側の処理はキャンセルされません。
612
613
614 ### コマンド(C) - 前のコマンド履歴(P) Ctrl-↑
615
616 コマンド履歴を1つ遡ります。
617
618
619 ### コマンド(C) - 次のコマンド履歴(N) Ctrl-↓
620
621 コマンド履歴を1つ進みます。
622
623
624 ### コマンド(C) - ロールバック(R)
625
626 確認ダイアログを表示し、OKを押すとロールバックを実行します。
627
628
629 ### コマンド(C) - コミット(M)
630
631 確認ダイアログを表示し、OKを押すとコミットを実行します。
632
633
634 ### コマンド(C) - 接続(C) Ctrl-E
635
636 接続リストを表示します。
637 接続リストで接続したい接続IDを選択して"了解"を押すと、connectと同じ処理が実行されます。
638
639
640 ### コマンド(C) - 切断(D) Ctrl-D
641
642 接続を切断します。disconnectコマンドと同じです。
643
644
645 ### コマンド(C) - 終了処理(0)
646
647 コマンドが終了した時、そのウィンドウが非アクティブの場合に
648 通知のために発生させるアクションを設定します。
649
650  * なし(N) : 何もしません。
651  * フォーカス(F) : ウィンドウをフォーカス状態にします。
652    ただし、同じプロセス内のほかのウィンドウがアクティブの場合に限ります。
653    他のプロセスがアクティブの場合はフォーカスされません。
654  * 振動(S) : ウィンドウを振動させます。
655  * 点滅(B) : ウィンドウ内を点滅(緑色)させます。
656
657
658 ### コマンド(C) - 暗号鍵の入力(K)
659
660 起動中のプロセスで接続設定のパスワード暗号化に使用される秘密鍵を入力します。
661
662
663 ### コマンド(C) - 接続設定(E)
664
665 接続設定ダイアログを表示します。
666
667
668 ### データ(D) - 並び替え(S) Alt-S
669
670 検索結果をファイルに出力します。
671 検索結果が表示されている場合のみ有効です。
672
673
674 ### データ(D) - インポート(I)
675
676 検索結果のテーブルにファイルをインポートします。
677 importコマンドとは独立した処理です。検索結果が表示されている場合のみ有効です。
678
679
680 ### データ(D) - エクスポート(E) Ctrl-Shift-S
681
682 検索結果をファイルに出力します。
683 exportコマンドとは独立した処理です。検索結果が表示されている場合のみ有効です。
684
685
686 ### ヘルプ(H) - ヘルプを表示(H)
687
688 ヘルプ(このファイル)をデフォルトブラウザで表示します。
689
690 環境によっては表示できない場合があります。
691
692
693 ### ヘルプ(H) - Stew について(A)
694
695 バージョン情報ダイアログを表示します。
696
697
698
699 ## GUIモード・その他
700
701
702 ### 全体
703
704 テキスト入力欄は共通して、
705 「元に戻す」「やり直す」「切り取り」「コピー」「貼り付け」「すべて選択」の
706 ショートカットが利用できます。
707
708 これらは、コンテキストメニューからも操作できます。
709
710
711 ### 結果テーブル
712
713 検索コマンドを実行したときに、結果を表示します。
714 最左列は行番号が表示されます。列幅自動調整が設定されていれば、列幅が自動的に調整されます。
715
716 セルを編集すると、テーブルに反映(UPDATE)されます。
717 行番号が"+"になっている行は「非リンク行」です。
718 非リンク行については、コンテキストメニューを参照。
719
720
721 ### 入出力欄
722
723 コマンドの入力とメッセージの出力が同居する、コマンドラインのようなインターフェイスです。
724
725 エンターキーを押すと、プロンプトから末尾までがコマンドとして解釈され実行されます。
726 カーソルが末尾にない場合は、カーソルが末尾に移動します。
727 プロンプトより前の部分は編集不可となっています。
728
729 デスクトップからファイルをドロップすると、
730 「パスの貼り付け」「内容の貼り付け」のいずれかが実行できます。
731
732
733 ### ステータスバー
734
735 直前のコマンドとその実行時間が表示されます。
736 実行時間は、timeコマンドとは異なり、コマンドの開始から終了までの所要時間となります。
737
738
739 ### コンテキストメニュー
740
741 マウスの右クリックにより、そのコントロールに即した機能のメニューが表示されます。
742 表示されるメニュー内容は、入力部分ごとに異なります。
743
744 メニューは以下のとおりです。
745
746 この列を並べ替え
747 :   右クリックした列(選択されている列では無く)をソートします。
748     同じ列を続けてソートすると、逆順でソートします。
749
750 コピー
751 :   選択しているセルを、タブ区切りテキスト形式でクリップボードに送ります。
752     タブ文字や改行文字をエスケープしません。
753
754 エスケープ付でコピー
755 :   選択しているセルを、エスケープ付のタブ区切りテキスト形式でクリップボードに送ります。
756     値に改行文字が含まれている場合でも、直接スプレッドシートなどに貼り付けることができます。
757
758 貼り付け
759 :   選択したセルに、クリップボードのデータを貼り付けます(UPDATE)。
760     選択範囲外のデータは無視されます。
761     データより選択範囲が大きい場合でも、貼り付けは繰返されません。
762
763 すべて選択
764 :   すべてのセルを選択状態にします。
765
766 セルの値をクリア
767 :   データ型にかかわらず、選択したセルにNullを設定します(UPDATE)。
768
769 現在時刻の貼り付け
770 :   選択したセルに現在時刻を設定します(UPDATE)。
771
772 列名をコピー
773 :   現在表示しているヘッダの値を、タブ区切りテキスト形式でクリップボードに送ります。
774
775 列名を検索
776 :   現在表示しているヘッダの文字列から列名を検索します。
777
778 新しい行を追加
779 :   表の最後に新しい行を追加します。
780     この時点では、データベースへの反映は行われません(非リンク行)。
781     値を入力した後で「行をデータベースへリンク」を実行すると、データベースへ反映されます。
782
783 クリップボードのデータを追加
784 :   クリップボードのタブ区切りテキストを、データベースに連続して追加します(INSERT)。
785     エラーの場合は、非リンク行となります。
786     中断は強制終了以外できませんので、データ量が多い場合はimportコマンドを推奨します。
787
788 行を複製
789 :   表の最後に選択した行のコピーを追加します。
790     この時点では、データベースへの反映は行われません(非リンク行)。
791     値を入力した後で「行をデータベースへリンク」を実行すると、データベースへ反映されます。
792
793 行をデータベースへリンク
794 :   非リンク行をデータベースへ反映します(INSERT)。
795
796 行を削除
797 :   選択行を削除するのと同時にデータベース上のテーブルから削除します(DELETE)。
798     (非リンク行の場合はDELETEは実行されません。)
799     複数行を選択していても実行できます。
800
801 ※COMMIT,ROLLBACKは手動です。
802
803
804 ### データベース情報ツリー
805
806 データベースのテーブルなどの情報をツリー表示します。
807
808 簡易SQL文自動生成機能が利用できます。
809
810
811 コピー
812 :   ノードの文字列表現をコピーします。
813
814 単純名をコピー
815 :   ノードを表す単純な名称をコピーします。
816
817 完全名をコピー
818 :   カタログ名、スキーマ名を完全修飾した名称をコピーします。
819
820 最新状態に更新
821 :   選択したノードの情報を再読み込みして最新状態に更新します。
822
823 WHERE句条件部を生成
824 :   選択した列の情報からWHERE句より後の部分を生成します。
825
826 SELECT句を生成(WHERE付)
827 :   選択したテーブルと列の情報からSELECT文を生成します。
828     末尾にWHEREキーワードが付きます。
829
830 UPDATE文を生成(WHERE付)
831 :   選択したテーブルと列の情報からUPDATE文を生成します。
832     末尾にWHEREキーワードが付きます。
833     テーブルは1つだけ選択できます。
834
835 INSERT文を生成
836 :   選択したテーブルと列の情報からINSERT文を生成します。
837     テーブルは1つだけ選択できます。
838
839 この列名の列にジャンプ
840 :   結果セットに同じ列名がある場合はその列にジャンプします。
841     ダブルクリックでも同じ効果があります。
842
843 列番号を表示/非表示
844 :   列ノードの番号表示/非表示を切り替えます。 
845
846
847 接続したときに自動で指定したノードを展開する機能があります(実験的機能)。
848
849 システムディレクトリに"autoexpansion.tsv"という名前でファイルを作成します。
850 内容は、展開したいノードのリストを1行毎にTSV形式で記載します。
851 実際にツリーに表示されるノード文字列をTABでつないだものになります。
852
853     # 例: コネクタ"H2 DB1"(IDでなく接続名)のCATALOG1.PUBLIC.TABLE1を展開する
854     H2 DB1(TAB)CATALOG1(TAB)PUBLIC(TAB)TABLE(TAB)TABLE1
855
856
857 ### 設定保存
858
859 以下の設定が、ウィンドウを閉じたとき(終了したときではない)に保存され、
860 次回以降のウィンドウの設定として使用されます。
861
862  * ウィンドウ位置
863  * ウィンドウサイズ
864  * 分割バー位置
865  * ステータスバー(表示/非表示)
866  * 列番号(表示/非表示)
867  * 情報ツリーペイン(表示/非表示)
868  * 常に手前に表示(する/しない)
869  * 列幅自動調整モード
870
871
872 ### メニューのキー割り当て
873
874 システムディレクトリに"keybind.conf"という名前のファイルを作成し、
875 内容には"メニューのアクション名=KeyStrokeの文字列表現"を設定すると、
876 メニューのキー割り当てが変更できます。
877
878 メニュー以外(コンテキストメニューなど)には適用できません。
879
880     # 例
881     # アクション名はsrc/net/argius/stew/ui/window/messages.u8pのMenu.#を参照
882     lastHistory = ctrl K
883
884
885
886 ## プロパティ
887
888 起動時に値を決定できるパラメータです。
889
890 Javaのシステムプロパティ(Javaの-Dオプション)で指定するか、stew.propertiesファイルに記述します。
891 "設定値"は、設定する値についての説明です。設定値のカッコ内の値は既定値です。
892 カッコがないものは既定値がありません。
893
894
895 ### net.argius.stew.properties - プロパティファイルの場所
896
897 設定値:ファイルまたはディレクトリのパス
898
899 stew.propertiesファイルを優先的に検索する場所を指定します。
900
901 指定されたパスがファイルの場合は、そのファイルをstew.propertiesの代わりに
902 プロパティファイルとして読み込みます。
903
904 指定されたパスがディレクトリの場合は、そこにstew.propertiesがあるものとみなされます。
905
906 指定されない場合は、クラスパス、システムディレクトリの順に検索されます。
907 無い場合はプロパティファイルが無いものとみなされます。
908
909
910 ### net.argius.stew.directory - 作業ディレクトリ
911
912 設定値:ディレクトリパス(カレントディレクトリ)
913
914 コマンドで使用するディレクトリの開始時のパスを指定します。
915 デフォルトシステムディレクトリとは異なります。
916
917
918 ### net.argius.stew.query.timeout - クエリのタイムアウト値
919
920 設定値:整数秒(0)
921
922 コマンド内のクエリが発行時に設定するタイムアウト値を指定します。
923 0以下はタイムアウト未指定とみなされます。
924
925 (実装詳細:java.sql.Statement#setQueryTimeoutに設定する値。)
926
927
928 ### net.argius.stew.rowcount.limit - 出力件数の上限
929
930 設定値:上限値(Max=Integer.MAX_VALUE≒2,147,000,000)
931
932 検索結果を出力する上限件数を設定します。exportなどには適用されません。
933
934
935 ### net.argius.stew.command.Import.batch.limit - Importのバッチ数の上限値
936
937 設定値:上限値(10000)
938
939 Importコマンドで一度に実行する件数の上限値を決定します。
940
941
942 ### net.argius.stew.ui.window.resident - Windowの常駐
943
944 設定値:整数分
945
946 **実験的な機能です。**
947
948 指定した分ごとに画面の再描画を行い、アプリケーションがスワップアウトしないようにします。
949
950
951 ### Loggerの設定
952
953 Stew4は標準のLoggingAPIを(ラップして)使用しています。
954
955 ログ出力を有効にする場合は、システムプロパティ"java.util.logging.config.file"を設定します。
956
957 以下は起動オプションの例。
958
959     -Djava.util.logging.config.file=logging.properties
960
961
962 ----------------------------------------------------------------------------------------------------