【问题标题】:Tomcat, JDBC Thin Client and Oracle WalletTomcat、JDBC 瘦客户端和 Oracle 钱包
【发布时间】:2015-08-14 14:25:46
【问题描述】:

我很难让 JDBC 瘦客户端识别我的 Oracle Wallet。在 SQLPlus、SQLDeveloper 甚至 .NET 应用程序中使用相同的钱包没有问题。我们将其用作 SSO 机制,即不提供用户名和密码,以及用于特定目的的用户名和密码。

这个文档我翻遍了:http://www.oracle.com/technetwork/topics/wp-oracle-jdbc-thin-ssl-130128.pdf

根本的例外是: 原因:oracle.net.ns.NetException:无法解析连接标识符“D501_SSL”

我通过 Eclipse 使用以下 VM 参数启动 Tomcat: -Doracle.net.wallet_location="C:\oracle_wallet\SFVRL" -Doracle.net.tns_admin="C:\oracle_wallet\SFVRL"

我在 tnsnames.ora 文件中定义了 D501_SSL。协议是端口 2484 上的 TCPS。如前所述,它在瘦客户端之外也能正常工作。

我已经在网上找到了一些有趣的话题,但没有任何效果。我已经按照指示修改了我的 java.security 文件。我有 类路径中必需的 jars(ojdbc7-12.1.0.2.jar、oraclepki.jar、osdt_cert.jar、osdt_core.jar)。

我已经尝试了上述选项的各种格式,但没有任何乐趣。我把我的 tnsnames.ora 放在钱包的同一个文件夹中,只是为了简单一点。

我正在运行 Tomcat 8、JAVA 1.8。下面是我的 JNDI 配置。任何见解将不胜感激。

<Resource auth="Container" name="jdbc/SVRSDS_SSL" driverClassName="oracle.jdbc.OracleDriver" logAbandoned="true" maxActive="24" maxIdle="24" maxWait="-1" minIdle="2" poolPreparedStatements="true" removeAbandoned="true" removeAbandonedTimeout="30" testWhileIdle="true" timeBetweenEvictionRunsMillis="60000" type="javax.sql.DataSource" url="jdbc:oracle:thin:/@D501_SSL" validationQuery="Select 1 from dual" />

【问题讨论】:

    标签: eclipse oracle tomcat jdbc


    【解决方案1】:

    错误“oracle.net.ns.NetException: could not resolve the connect identifier D501_SSL”表示 JDBC 瘦驱动程序在您的文件 tnsnames.ora 中找不到 TNS 名称“D501_SSL。该错误与钱包配置,所以我会先尝试解决此错误而不尝试配置钱包。一旦配置错误解决,您可以尝试添加钱包。

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多