私は、Toadを使用してデータベースとデータベースを接続しています。しかし、同じ資格情報で接続しようとすると、次のようなエラーメッセージが表示されます。
ORA-12154 TNS: could not resolve the connect identifier specified
手順:
パスワードを入力する :
エラー:ORA-12154 TNS:指定された接続識別子を解決できませんでした
しかし、私がこれをスキーマの所有者で開くと、私にとってはうまくいきます
C:\ programs\Oracle\Ora11g\BIN\sqlplus schema_name @ schema_name
パスワードを入力する:
に接続されています :......................
したがって、私の質問は、ユーザー名がその特定のスキーマに接続できないのに、そのスキーマの所有者は接続できる理由です。注:Toadではユーザー名でそのスキーマに接続できますが、sqlplusでは接続できません
私のTNSNAME.ORA
はTNS_ADMIN
フォルダの下にあります
これから私を助けてください。
ヒキガエルを通して実際にログインできるのはOracle_HOME
が設定されました。しかし、一度使用しようとすると$Oracle_HOME/bin
、ご自宅が正しく設定されていません。
これを解決するには、まずエクスポート$Oracle_HOME
および$Oracle_SID
試してみてください。問題ないはずです。
したがって、sqlplus.exe
を実行するときに完全なパスを指定する必要はありません。
%TNS_ADMIN%
変数を関連フォルダーの完全パスに設定します(C:\programs\Oracle\Ora11g\TNS_ADMIN
?)。そうするための指示はグーグル離れています。同時に、%Oracle_HOME%
がC:\programs\Oracle\Ora11g
に設定されていること、および%PATH%
にC:\programs\Oracle\Ora11g\bin
が追加されていることを確認してください。
実際に発生している問題は、sqlplusに渡すパラメーターが原因です。
あなたがやってきた:
C:\programs\Oracle\Ora11g\BIN\sqlplus username@schema_name
これは間違っていて、sqlplusによって次のように解釈されます。
C:\programs\Oracle\Ora11g\BIN\sqlplus username@database_name
また、Oracleでは、スキーマの所有者(つまりスキーマ名)はユーザー名です。当然、他のスキーマでDML/DDLを実行するために他のユーザーに権限を与えることができますが、それでも十分な権限を持つユーザーでログインする必要があります。 (alter session set current_schema=blah
と同様にプロキシログインが存在しますが、どちらもこの回答の範囲外です)。