Windows (コマンド ウィンドウではなく) で SQL*Plus を使用して接続する複数のデータベースがあります。
ウィンドウのタイトルを変更して、タスク バーからインスタンスを区別できるようにする方法を探していました。はい、プロンプトを変更できることはわかっていますが、適切なインスタンスに到達するまで、インスタンスを切り替えてプロンプトを読む必要があります。
これは可能ですか?もしそうなら、どのように?
sqlplus.exe については、ご存じのとおり、glogin.sql (Oracle クライアントの sqlplus ディレクトリ内) を使用して、セッションの開始時に sqlplus コマンドを実行できます。
HOST
sqlplus 内からコマンドを試して、シェルでコマンドを実行することもできます。
HOST title [my db name]
この呼び出しを glogin.sql (およびカスタム プロンプト) に入れることができます。
編集:
sqlpluswの場合、接続したいサーバーごとにショートカットを作成することを提案する「解決策」をここで見ました。ウィンドウは、ウィンドウのタイトルのショートカットのタイトルを取得します。
[DllImport("user32.dll", SetLastError =true, CharSet =CharSet.Auto)]
static extern IntPtr SetWindowText(IntPtr hwnd, String lpString);
Process process = new Process();
process.StartInfo.FileName = "sqlplusw";
process.Start();
process.WaitForInputIdle();
SetWindowText(process.MainWindowHandle, "PRODUCTION - BE CAREFUL!!");
私は自分が望んでいたことをするラッパーをまとめることができました。今それをより一般的な目的にするために....
任意のウィンドウのタイトル (およびその他のプロパティ) を変更できるユーティリティがあります。
無料のものはWindowWatchです。他のものは、簡単な Googleで見つけることができます。
私は SQL*Plus をインストールしていないので、SQL*Plus がどの程度うまく機能するかわかりません。