Tomcat,JDBC瘦客户端和Oracle Wallet

时间:2015-08-14 14:25:47

标签: eclipse oracle tomcat jdbc

我最难让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"

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

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

我一直在网上找到了tickler主题,但没有任何效果。我按照指示修改了我的java.security文件。我有 类路径中的必备jar(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" />

1 个答案:

答案 0 :(得分:0)

错误“oracle.net.ns.NetException:无法解析连接标识符D501_SSL”表示JDBC瘦驱动程序无法在文件tnsnames.ora中找到TNS名称“D501_SSL。该错误与钱包配置所以我首先尝试解决此错误而不尝试配置钱包。一旦配置错误得到解决,您可以尝试添加钱包。