4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「SQLスクリプトの実行」を2倍使いこなすtips

Last updated at Posted at 2023-12-14

ACSのSQLスクリプト

IBM i Access Client Solutionsの一機能。

IBM iに対して直接SQLを実行できる。CLも実行できるらしい。IBM iで快適なSQLライフを送るためのtipsをいくつかまとめてみます。

image.png

デスクトップショートカットの作成

5250エミュレータのメニューバーでアクション>SQLスクリプトの実行で実行できるが、デスクトップショートカットも作成できる。
Start_Programs以下にある実行ファイル(acslaunch_win-64.exeとか)のショートカットを作成し、パラメータに/PLUGIN=rss /SYSTEM=[システム名]を設定することで直接起動することができる。
Windowsであればショートカットのプロパティリンク先(T):を以下のように設定すればOK。

"[ACSのフォルダ]\Start_Programs\Windows_x86-64\acslaunch_win-64.exe" /PLUGIN=rss /SYSTEM=[システム名]

image.png

参考

ショートカットのパラメータについては以下に色々書いてあるので、他にも使えるものがあるかも。

[ACSのフォルダ]/Documentation/GettingStarted_ja.html

キーボードショートカット

メニューバーに書かれているものもあるが、書かれていないものもある。よく使っているものを紹介します。

[Ctrl] + N : 新規タブ

タブ切り替えは[Ctrl] + [PageUp][Ctrl] + [PageDown]でできる。
って書いてあるけど[Ctrl] + [Tab][Ctrl] + [Shift] + [Tab]でもできる。

[Ctrl] + R : 選択済みステートメントの実行

;で区切ってあれば、カーソル位置のステートメントを実行する。
;がなければ全ステートメント実行、1タブ1ステートメントにして使うことが多い。

[F4] : ステートメントのプロンプト(サジェスト)

って書いてあるけど [Ctrl] + [Space] でも同じことができる。DB名を忘れてもこれで安心。
image.png

[Ctrl] + 7 : コメントの切り替え(行のコメントアウト)

って書いてあるけど [Ctrl] + / でも同じことができる。
行の先頭に--をつけたり外したり。複数行選択でもできる。

その他

?

バージョン1.1.9.2から使えるようになったっぽい。
WHERE区に入れておくと、実行時にポップアップで値を入力できる。
image.png

閉じるときの挙動

SQLを実行して結果が表示されている状態で閉じようとすると確認メッセージが出る。閉じたくて閉じてるのでちょっとウザい。

image.png

image.png

これらの確認メッセージはカーソルキーが効かない。Y/N/Cも効かない、書いてあるのに!
保存せずに閉じたいときの選択肢が逆なのもちょっとたちが悪い。
幸い[Enter]もしくは[Space]や[Tab]は効くので、閉じるときは[Alt] + [F4] > [Enter] > [Tab] > [Enter]を手癖にしましょう。

実行環境

OS: Windows10 22H2
ACSバージョン: 1.1.9.2
ACSビルドID: 3131

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?