web-dev-qa-db-ja.com

ウォレットを開けませんでした

マシンに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:ウォレットのオープンに失敗しました

誰かがこれをどのように修正できるか教えてもらえますか?.

1
MRBULL93

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
)
1
kubanczyk

遅すぎることはありません:

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/

0
backtolinux