案件 #92
未完了案件 #176: 案件
[MBS-97] 【原材料】検証環境構築
プロジェクト 管理者 さんが14日前に追加. 6分前に更新.
説明
①原材料画面 検証環境構築&手順書整備完
②cimMtlAutoUploadCellMb のローカルでの動かしかたを調査中
Backlog課題: MBS-97
https://maxell-inf.backlog.com/view/MBS-97
プロジェクト 管理者 さんが12日前に更新
- トラッカー を 1 から 案件 に変更
- ステータス を 新規 から 解決 に変更
- 担当者 を 阿部 寧子 にセット
- 優先度 を 通常 から 高め に変更
- 進捗率 を 0 から 100 に変更
- カテゴリー を 原材料CIM にセット
プロジェクト 管理者 さんが12日前に更新
[BL-COMMENT-726069523]
KSC阿部 寧子:
\10.100.3.103\pennyDocument\001.MBSドキュメント\070_保守\070_02メンテナンス\08.HW(サーバ)としてのリカバリ
HW(サーバ)としてのリカバリ.xlsx
シート「WEBサーバー設定(原材料)」にjarのファイル構成追加
プロジェクト 管理者 さんが8日前に更新
[BL-COMMENT-729801438]
プロンプト java.sql.SQLException: ORA-28040:... | Copilot Chat で試す
java.sql.SQLException: ORA-28040: 一致する認証プロトコルがありません
応答
java.sql.SQLException: ORA-28040: 一致する認証プロトコルがありません は、Oracle データベースと JDBC クライアント(ドライバ/JDK)の間で認証方式が合わないときに発生する代表的なエラーです。
エラーの意味¶
- Oracle DB 側が要求する新しい認証プロトコルに、
- クライアント側(JDBC ドライバや JDK)が対応していない
そのため、ログイン(認証)が成立しません。
よくある原因¶
1. JDBC ドライバ(ojdbc)が古い¶
- Oracle 12c / 19c / 21c など 新しめの DB
- × 古い
ojdbc14.jar,ojdbc6.jarなどを使用
👉 最頻出原因
2. Oracle DB のセキュリティ設定が厳しい¶
以下のパラメータが高い値に設定されている場合:
SQLNET.ALLOWED_LOGON_VERSION_SERVER
- DB は「新しい認証方式しか受け付けない」
- クライアントが古いと認証不可
3. JDK が古い¶
- Java 6 / 7 など
- それに対応した古い JDBC を使っている
解決策(推奨順)¶
✅ 解決策1:JDBC ドライバを更新(最重要)¶
Oracle DB のバージョンに対応した ojdbc を使用してください。
| Oracle DB | 推奨 JDBC |
|---|---|
| 12c | ojdbc7 / ojdbc8 |
| 19c | ojdbc8 / ojdbc11 |
| 21c | ojdbc8 / ojdbc11 |
例(Maven):
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.22.0.0</version>
</dependency>
✅ 解決策2:JDK を更新¶
- Java 8 以上を推奨
- JDBC 8/11 は Java 8 以上が前提
✅ 解決策3:DB側の設定を一時的に緩和(※非推奨)¶
どうしても古いクライアントを使う必要がある場合のみ。
sqlnet.ora(DBサーバ側)
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
または
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
⚠️ セキュリティレベルを下げるため、本番環境では原則非推奨
確認ポイント(チェックリスト)¶
-
使用中の
ojdbc*.jarのバージョン -
Java のバージョン (
java -version) - Oracle DB バージョン
-
sqlnet.oraの設定有無
典型的な組み合わせ例(NG → OK)¶
❌ NG
- Oracle 19c
- Java 7
- ojdbc6.jar
✅ OK
- Oracle 19c
- Java 8
- ojdbc8.jar
まとめ¶
このエラーは 「JDBCが古い」ことがほぼ原因です。
👉 最優先で JDBC ドライバの更新
👉 次に JDK バージョン確認
👉 DB設定変更は最後の手段
もしよければ、
- Oracle DB バージョン
- Java バージョン
- 使用している ojdbc のファイル名
を教えていただければ、最適な組み合わせを具体的に提示します。
プロジェクト 管理者 さんが6日前に更新
[BL-COMMENT-731086130]
②cimMtlAutoUploadCellMb のローカルでの動かしかたを調査中
「cimMtlAutoUploadCellMb」のプロジェクトをGitから取得した状態で開発環境上で起動すると、「ORA-28040」というエラーが発生する。
DBの接続情報の設定自体は正しいにもかかわらず、接続に失敗する。
⇒ ライブラリーの参照を変えて問題解消。
- cimMtlAutoUploadCellMb/lib/classes12.jar を、ライブラリーから除去する。
- /cimMtlAutoUploadCellMb/lib/ojdbc6.jar がライブラリーで参照されていない場合は、「JARの追加」で追加する。
- アプリケーションを実行する。コンソールに例外が表示されず、処理終了することを確認する。
![image][pasted-2026.05.01-14.42.32.png]
![image][pasted-2026.05.01-14.42.41.png]
![image][pasted-2026.05.01-14.42.47.png]
その後、原材料Excelファイルの取り込みを確認する。
部分的に成功するが、要見直し。内容調査中。