マシンにOracleサーバーをインストールし、別のマシンにOracleクライアントをインストールしています。このコマンドを使用してウォレットを作成しました
C:\Users\MRBULL93>mkstore -wrl C:\VideoWallet -create
C:\Users\MRBULL93>mkstore -wrl C:\VideoWallet -createCredential kejvidoko SYSTEM
sqlnet.oraファイルも次のように変更しました
# sqlnet.ora Network Configuration File:
C:\app\MRBULL93\product\11.2.0\client_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
WALLET_LOCATION =
(SOURCE =
(METHOD=FILE)
(METHOD_DATA =
(DIRECTORY =C:\VideoWallet)
)
)
SQLNET.WALLET_OVERRIDE = TRUE
================================================== ======
Cmdを使用してパスワードを変更でき、ウォレットマネージャーで開くこともできますが、呼び出すと
SQLPLUS /@kejvidoko
次のメッセージが表示されます
エラー:ORA-12578:TNS:ウォレットのオープンに失敗しました
誰かがこれをどのように修正できるか教えてもらえますか?.
Oracleの一部のバージョンでは、cannotで行頭とWALLET_LOCATIONキーワードの間にスペースを入れ、mustで行頭と最初のスペースを入れますウォレットの定義。スニペットは、これらのいずれかに失敗したことを示しています。彼らはこの愚かな要件をいくつかのOracleバージョンから削除したと思いますが、申し訳ありませんが安全です。
良い:
#<- line begins here
WALLET_LOCATION=
(SOURCE=...
blabla
)
おそらく間違っています:
#<- line begins here
WALLET_LOCATION=
(SOURCE=...
blabla
)
おそらく間違っています:
#<- line begins here
WALLET_LOCATION=
(SOURCE=...
blabla
)
遅すぎることはありません:
SYSTEMユーザーではウォレットを使用できません。ウォレットは、(Oracleユーザーのように)DB Thought sysに接続するための(OSレベルの)ユーザー用です。 OSレベルでユーザー(つまり、myuser/myuserという名前)を作成し、発行します
mkstore -wrl C:\ VideoWallet -createCredential kejvidoko myuser資格情報を入力してください
そして出来上がり。接続を試みるときは、「sysdbaとして」の引数を忘れないでください。 http://mohamedazar.com/2012/03/25/how-to-configure-clients-to-use-external-password-stores/