LoginSignup
3
4

More than 5 years have passed since last update.

Oracleに対話形式でさくっと接続するbatプログラム

Last updated at Posted at 2016-05-06

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
3
4
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
3
4