web-dev-qa-db-ja.com

ORA-28040:一致する認証プロトコル例外がありません

私は自分のgrailsプロジェクトをwindows(8)システムでOracle databse(Oracle 12c)に接続しようとしています。しかし、私は自分のアプリケーションを実行するたびに私は次の例外が出ます:

Caused by: org.Apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol

Caused by: Java.sql.SQLException: ORA-28040: No matching authentication protocol

インターネットの提案によると、私は自分の*。oraファイルも編集してみましたが、うまくいきません。

sqlnet.oraファイルに次のスニペットを追加しました。

SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10

ここで私は(10,11,12)を代入しようとしましたが、どちらもうまくいきません。

誰かが私を助けてください。

71
Aman Adhikari

ojdbc14.jarファイルを削除して使用しましたojdbc6.jar代わりに、それは私のために働いた

116
Aman Adhikari

これが expert-exchange で見つけたテキストです。

バグ14575666

12.1では、SQLNET.ALLOWED_LOGON_VERSIONパラメータのデフォルト値が11に更新されました。これは、SQLNET.ALLOWED_LOGON_VERSIONパラメータが古いデフォルトの8に設定されていない限り、11gより前のJDBC Thinドライバを使用するデータベースクライアントを認証できないことを意味します。

これにより、DBCAを使用した10.2.0.5のOracle RACデータベース作成は、12.1のOracle ASMおよびOracle Grid Infrastructure環境では、ORA-28040:No matching authentication protocolエラーで失敗します。

回避策:Oracle/network/admin/sqlnet.oraファイルでSQLNET.ALLOWED_LOGON_VERSION = 8を設定します。

49
Simon

sqlnet.oraに以下を追加することを除いて

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

私はまた私の問題を解決したクライアントとサーバーの両方に以下を追加しました

SQLNET.AUTHENTICATION_SERVICES = (NONE)

Post も参照してください。ORA-28040:認証プロトコルが一致しません

3

私はojdbc8.jarを使用してこの問題を解決しました。 Oracle 12cはojdbc8.jarと互換性があります。

3
Shardendu

私はEclipseを使っていましたが、他のすべての答えを試してもうまくいかなかったのです。結局、私にとってうまくいったのはビルドパスのojdb7.jarを上に移動することでした。これは、複数のjarが同じクラスを競合している場合に発生します。

  1. Project Explorerでプロジェクトを選択
  2. Project -> Build Path -> Configure Build Pathを右クリック
  3. Order and Exportタブに行き、ojdbc.jarを選択してください
  4. ボタンTOPをクリックして一番上に移動します
0
Sandesh Gupta

追加中

SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

sql.oraディレクトリとして最適です..\product\12.1.0\dbhome_1\NETWORK\ADMIN

0
Birhan Nega

ojdbc-fullをインストールするだけで、12.1.0.1リリースが含まれます。

0
Ali Mhamad Slim

これを除いて、sqlnet.oraに次を追加します。

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

「ORA-01017:ユーザー名/パスワードが無効です。ログオンが拒否されました」というエラーが表示された場合は、パスワードを再作成する必要があります。

0
CodeArt