アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQL*Plus を使用して、作業した後、
接続先は同じままユーザを変える時

connect ユーザ/パスワード@接続先

と入力しますが、この接続先を毎回入力するのが煩わしいので、
なんとか省略できないものかと思ってます。

ユーザ名を引数として受け取り、現在の接続先を自動的に取得して、
同じ接続先に connect するSQLファイルを作成しようとしているのですが、
現在の接続先を取得するにはどうしたらよいのでしょうか?

A 回答 (5件)

事前に環境変数を以下のように設定


SET LOCAL=接続先

以後のSQLPLUSは、省略時接続先が環境変数に従います。

この回答への補足

上記を行ったところ
不明なSETオプションです
と表示されてしまいました。

DBサーバはUNIX
SQL*Plusを起動しているのはWindowsです。

補足日時:2007/02/16 00:38
    • good
    • 0

>接続先が複数ある場合は、


>毎回LOCALを書き換えなければならないのでしょうか?

接続先を省略したい/接続先を切り分けたい、という矛盾する質問に思えるのですが・・

省略するための手法は判ったのだから、あとは自分の使いやすいように知恵を絞ってください。

私なら、SQLPLUSなりSQLPLUSwを起動するバッチファイルを接続先毎に用意しますけどね。
(そのバッチファイルのなかで、SET LOCAL=を書けば良い)
    • good
    • 0
この回答へのお礼

ありがとうございます。

接続先1にユーザAとB、接続先2にユーザCとDがあるとして、
その4つを使う場合に、スムーズにユーザ変更ができないかと思いまして。

AからBの時には同じ接続先なので、同じことを入力するのが煩わしいし、
AからCの時に、SQL*PLUSでどうやって環境変数を変えたらいいのかと。

お礼日時:2007/02/22 21:59

>>事前に環境変数を以下のように設定


>>SET LOCAL=接続先

事前に・・と書きましたが、コマンドプロンプトで、
c:\> SET LOCAL=HOGE
c:\> SQLPLUS SCOTT/TIGER
または、コントロールパネルのシステムで環境変数を設定し、SQLPLUSを起動する。

のような使い方を念頭に書きました。


#3さん
思いこみでWindowsプラットフォーム前提の回答をしました。
確かに、unixプラットフォームについては、two_taskですね。

この回答への補足

接続先が複数ある場合は、
毎回LOCALを書き換えなければならないのでしょうか?

補足日時:2007/02/16 21:01
    • good
    • 0

#2さん


記憶ではLOCALはWindows固有ではなかったですか?
UNIXだとTWO_TASKかな?
    • good
    • 0

conn &1@&_CONNECT_IDENTIFIER


というファイルを作って
@file username/pass
かな

この回答への補足

上記を行ったところ、
_CONNECT_IDENTIFIER に値を入力してください
と表示されました。

何か設定が必要でしょうか?

補足日時:2007/02/16 00:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す