##OracleにSQL*Plusでさくっと接続したい
Oracleに接続して何らかの作業をする際、sqldeveloperなどのGUIツールは重くて嫌いなので、基本的にSQL*Plusを利用します。ただ、開発用、検証用、ステージング用・・・・・・etc、とサーバが複数あり、さらにスキーマも複数あるせいで、TNS サービス名とアカウントの組み合わせを忘れがちだったので、対話形式で指定のOracleインスタンスにさくっと接続できるbatファイルを作成します。
##Oracle接続バッチツール
batファイルを実行後、接続先を番号で指定することで、番号に紐付くスキーマとインスタンスに接続するプログラムです。
検証用、ステージング用といったデリケートなサーバに接続する際には、コマンドプロンプトのタイトルや背景色が目立つように変更して、ヒヤリハットを防止します。
oralce_conn_sample.bat
@echo off
echo /*****************************************************************/
echo /* ■Oracle接続バッチ */
echo /* 1)サーバ:開発 SID:db1 スキーマ:user1 */
echo /* 2)サーバ:検証 SID:db1 スキーマ:user1 */
echo /* 3)サーバ:ステージング SID:db1 スキーマ:user1 */
echo /*****************************************************************/
rem 番号を入力
echo.
set /p DB_SERVER="接続先を番号で指定してください >> "
rem 番号で指定した設定関数を実行
call :%DB_SERVER%
rem 接続関数を実行
call :CONNECT
rem 接続先の設定関数
:1
rem ユーザ名
set USER_NAME=user1
rem パスワード
set PASSWORD=passwd1
rem TNS名
set TNS_NAME=db1.dev
rem タイトル
set TITLE_HEAD=開発環境
rem 背景色
color 1F
exit /b
:2
set USER_NAME=user1
set PASSWORD=passwd1
set TNS_NAME=db1.verify
set TITLE_HEAD=★★検証環境★★
color 5F
exit /b
:3
set USER_NAME=user1
set PASSWORD=passwd1
set TNS_NAME=db1.staging
set TITLE_HEAD=★★ステージング環境★★
color 5F
exit /b
rem 接続関数
:CONNECT
rem スクリプトを実行し易いように、SQLスクリプトファイルを配置しているディレクトリに移動
cd C:\app\sqlplus
title %TITLE_HEAD% %USER_NAME%@%TNS_NAME%
sqlplus %USER_NAME%/%PASSWORD%@%TNS_NAME%
exit /b