Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Qual é a sintaxe de URL JDBC correta se as carteiras Oracle forem usadas?


Quando você está usando o Oracle Wallet com uma string JDBC, ambas as sintaxes são permitidas , desde que seu "db_alias" esteja configurado na sua loja Wallet, obviamente.

Agora, quanto ao uso do SQL*Plus com o Oracle Wallet, o único formato permitido com o Oracle Wallet é:
/@db_alias

A propósito, esse artigo que você mencionou (e outros) especifica que você só pode se conectar usando JDBC se usar os drivers OCI e não o thin client. Isso ocorre normalmente porque o Java não tinha conhecimento dos arquivos Oracle TNS e SQLNET. Isso não é verdade; você pode conecte-se usando o driver thin JDBC com os drivers Oracle Client e JDBC mais recentes, mas requer apenas algumas configurações. Consulte http://tech.shopzilla.com/2011/09/oracle-wallet-with-thin-driver-with-connection-pool-with-database-timeouts/ para obter informações sobre isso e abaixo para um breve resumo.

Usando o Oracle Wallet com JDBC Thin Driver
  1. Configure o Oracle Wallet como de costume (que vem com o Oracle Database Client), criando as entradas apropriadas em seus arquivos tnsnames.ora e sqlnet.ora, bem como a entrada de credencial em sua carteira
  2. Adicione os seguintes JARs ao seu classpath Java. Você deve obtê-los do cliente Oracle 11g, e eles podem ser encontrados nos diretórios "jdbc" e/ou "jlib" de onde a instalação do cliente está
    • Driver JDBC Oracle - ojdbc6.jar
    • Carteira Oracle - oraclepki.jar
    • Certificados de segurança Oracle - osdt_cert.jar
    • Oracle Security Core - osdt_core.jar
  3. Inicie seu aplicativo Java com as seguintes propriedades do sistema, apontando para seus respectivos diretórios TNS e wallet:
    • -Doracle.net.tns_admin=C:\myTNSdir
    • -Doracle.net.wallet_location=C:\mywalletdir
  4. Então você pode usar uma string de conexão JDBC fina em seu aplicativo assim:jdbc:oracle:thin:/@MY_WALLET_DB_ENTRY