こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

現在の接続先の取得方法

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

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

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

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

投稿日時 - 2007-02-14 02:30:14

QNo.2750848

b13

すぐに回答ほしいです

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

事前に環境変数を以下のように設定
SET LOCAL=接続先

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

投稿日時 - 2007-02-14 10:06:29

補足

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

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

投稿日時 - 2007-02-16 00:38:21

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

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

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

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

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

投稿日時 - 2007-02-17 02:14:17

お礼

ありがとうございます。

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

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

投稿日時 - 2007-02-22 21:59:37

>>事前に環境変数を以下のように設定
>>SET LOCAL=接続先

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

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


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

投稿日時 - 2007-02-16 01:48:39

補足

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

投稿日時 - 2007-02-16 21:01:52

ANo.3

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

投稿日時 - 2007-02-14 10:32:08

ANo.1

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

投稿日時 - 2007-02-14 09:50:05

補足

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

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

投稿日時 - 2007-02-16 00:37:17

あなたにオススメの質問