ドライバーレベルの SOCKS サポートを文書化している Oracle JDBC ドライバーでは、既存の接続設定を通じてこれらを渡します:

properties.setProperty("oracle.net.socksProxyHost", "127.0.0.1");
properties.setProperty("oracle.net.socksProxyPort", "1080");

これらは仲介者を選択するものであり、データベースのホスト、サービス、ログインの代替ではありません。インストール済みのドライバーがこれらをサポートし、接続ファクトリーが実際にそのプロパティソースを渡していることを確認してください。経路が公的な仲介者を許可する場合、公に到達可能なデータベースには、SOCKS プロキシ一覧からそのドライバーの SOCKS サポートに適合する候補を選べます。実際の各データベース、または検出されたエンドポイントとポートへのアクセスを、データベースアカウントと TLS 設定を保ったまま確認してください。この公的な分岐はプロキシアカウントの入力が未設定の場合にのみ使用し、既存のプロキシユーザー名やパスワードを候補に持ち込まないでください。

機能目的
SOCKS プロパティサポートされているネットワーク中継経路
HTTPS プロキシプロパティ別のネットワークプロキシ経路
データベースのプロキシユーザー認証データベースの身元であり、インターネット中継ではない

API は oracle.net.socksRemoteDNS も文書化しています。導入したドライバーでの可用性と挙動を確認してください。汎用 JVM と Oracle 固有のプロパティは互換ではありません。

古い SOCKS/NIO の回避策には、当時のドライバーの文脈が必要です。過去の回答がそうしたという理由だけでトランスポートを無効にしないでください。ルーティングが機能した後も、データベースプロトコル、TLS、検出、認証には互換性のある接続記述子とアカウントが必要です。

関連記事