有2种URL语法,旧语法只适用于SID,新语法适用于Oracle服务名称 旧语法
jdbc:oracle:thin:@[HOST][:PORT]:SID
新语法
jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE
如果使用Oracle钱包,那么正确的JDBC URL语法是什么? 根据{{3}},应使用以下URL语法:
jdbc:oracle:thin:/@db_alias
但是我可以看到以下网址也有效:
jdbc:oracle:thin:@db_alias
哪些语法正确?
答案 0 :(得分:22)
当您使用带有JDBC字符串的Oracle Wallet时,允许两种语法,只要您的“db_alias”显然在您的电子钱包商店中设置。
现在,就使用Oracle Wallet的SQL * Plus而言,Oracle Wallet允许的唯一格式是:
/@db_alias
顺便说一句,您引用的那篇文章(以及others)指定只有在使用OCI驱动程序而不是瘦客户端时才能使用JDBC进行连接。这通常是因为Java不了解Oracle TNS和SQLNET文件。事实上这不是真的;您可以使用JDBC瘦驱动程序与最新的Oracle Client& amp; JDBC驱动程序,但它只需要一些设置。有关相关信息,请参阅http://tech.shopzilla.com/2011/09/oracle-wallet-with-thin-driver-with-connection-pool-with-database-timeouts/,以下是简短摘要。
将Oracle Wallet与JDBC瘦驱动程序一起使用
ojdbc6.jar
oraclepki.jar
osdt_cert.jar
osdt_core.jar
-Doracle.net.tns_admin=C:\myTNSdir
-Doracle.net.wallet_location=C:\mywalletdir
jdbc:oracle:thin:/@MY_WALLET_DB_ENTRY