• ベストアンサー

現在の接続先の取得方法

SQL*Plus を使用して、作業した後、 接続先は同じままユーザを変える時 connect ユーザ/パスワード@接続先 と入力しますが、この接続先を毎回入力するのが煩わしいので、 なんとか省略できないものかと思ってます。 ユーザ名を引数として受け取り、現在の接続先を自動的に取得して、 同じ接続先に connect するSQLファイルを作成しようとしているのですが、 現在の接続先を取得するにはどうしたらよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

事前に環境変数を以下のように設定 SET LOCAL=接続先 以後のSQLPLUSは、省略時接続先が環境変数に従います。

b13
質問者

補足

上記を行ったところ 不明なSETオプションです と表示されてしまいました。 DBサーバはUNIX SQL*Plusを起動しているのはWindowsです。

その他の回答 (4)

回答No.5

>接続先が複数ある場合は、 >毎回LOCALを書き換えなければならないのでしょうか? 接続先を省略したい/接続先を切り分けたい、という矛盾する質問に思えるのですが・・ 省略するための手法は判ったのだから、あとは自分の使いやすいように知恵を絞ってください。 私なら、SQLPLUSなりSQLPLUSwを起動するバッチファイルを接続先毎に用意しますけどね。 (そのバッチファイルのなかで、SET LOCAL=を書けば良い)

b13
質問者

お礼

ありがとうございます。 接続先1にユーザAとB、接続先2にユーザCとDがあるとして、 その4つを使う場合に、スムーズにユーザ変更ができないかと思いまして。 AからBの時には同じ接続先なので、同じことを入力するのが煩わしいし、 AからCの時に、SQL*PLUSでどうやって環境変数を変えたらいいのかと。

回答No.4

>>事前に環境変数を以下のように設定 >>SET LOCAL=接続先 事前に・・と書きましたが、コマンドプロンプトで、 c:\> SET LOCAL=HOGE c:\> SQLPLUS SCOTT/TIGER または、コントロールパネルのシステムで環境変数を設定し、SQLPLUSを起動する。 のような使い方を念頭に書きました。 #3さん 思いこみでWindowsプラットフォーム前提の回答をしました。 確かに、unixプラットフォームについては、two_taskですね。

b13
質問者

補足

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

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.3

#2さん 記憶ではLOCALはWindows固有ではなかったですか? UNIXだとTWO_TASKかな?

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.1

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

b13
質問者

補足

上記を行ったところ、 _CONNECT_IDENTIFIER に値を入力してください と表示されました。 何か設定が必要でしょうか?

関連するQ&A