Estabelecer Conexão com o Oracle Autonomous Database Usando JDBC com IntelliJ

Você pode estabelecer uma conexão com o Oracle Autonomous Database usando o IDE IntelliJ. As seções a seguir fornecem informações sobre como estabelecer conexão primeiro com o Oracle Autonomous Database usando um projeto Maven ou um projeto Gradle. Certifique-se de ter concluído as etapas descritas em Pré-requisitos antes de estabelecer conexão com o Oracle Autonomous Database.

Pré-requisitos

As seções a seguir fornecem informações sobre as tarefas que você precisa executar antes de conectar seus aplicativos Java ao Oracle Autonomous Database usando o driver JDBC da Oracle e o Universal Connection Pool. Consulte os pré-requisitos apropriados, dependendo do tipo de autenticação selecionado durante o provisionamento do Cluster de VMs do Autonomous Exadata (AVMC). Por padrão, conexões TLS unidirecionais são ativadas quando você provisiona um AVMC. Consulte Criar um Cluster de VMs Autonomous Exadata para obter mais informações.

Você pode encontrar o tipo de autenticação na página Detalhes do seu AVMC. Consulte Exibir Detalhes de um Cluster de VMs Autonomous Exadata para obter instruções.

Provisionar uma Instância do Oracle Autonomous Database

Você precisa de acesso a um Oracle Autonomous Database. Consulte Antes de Começar a Usar o Autonomous Database na Infraestrutura Dedicada do Exadata se você ainda não tiver um provisionado.

Lembre-se da senha que você usou para o usuário ADMIN. Para fins de demonstração, usaremos o usuário ADMIN, mas nossa recomendação é criar outros usuários de banco de dados usando o Oracle SQL Developer ou o Database Actions.

Instalar o JDK 8

Faça download do JDK 8 mais recente ou de versões JDK mais altas.

Observação:

Certifique-se de usar JDK8u162 ou uma versão posterior. Use java -version para verificar a versão do JDK que você instalou. Para verificar a versão do driver JDBC, digite java -jar ojdbc8.jar.

Baixe um programa de amostra do Github

  1. Faça download do arquivo ADBQuickStart.java do Github. Este aplicativo de amostra usa o esquema de amostra do Histórico de Vendas (SH) e exibe 20 registros da tabela SH.CUSTOMERS.
  2. Modifique o arquivo ADBQuickStart.java para incluir suas informações de conexão do Oracle Autonomous Database:
    • DB_USER: Você pode usar ADMIN, o usuário criado por padrão quando o Oracle Autonomous Database é criado (se você criar outro usuário do OracleAutonomous Database, poderá usar esse usuário).
    • DB_PASSWORD: Use a senha do usuário do banco de dados. Se estiver se conectando como o usuário ADMIN, defina-o com a senha escolhida durante a etapa Criar Autonomous Database ao provisionar o Oracle Autonomous Database. Por motivos de segurança, você precisa informar a senha por meio do console ao executar a amostra.
    • DB_URL: Obtenha a string de conexão do seu Autonomous Database seguindo as instruções em Exibir Strings de Conexão de um Autonomous Database. Se você estiver usando diretamente no programa Java, precisará fazer escape de " na string de conexão com \"

    Um exemplo de arquivo Java de início rápido tem esta aparência:

    DB_URL = "jdbc:oracle:thin:@jdbc:oracle:thin:@(description=
          (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=g13ec47eade81f7_demodb_low.adb.oraclecloud.com))(security=(ssl_server_cert_dn=\"CN=adb.us-sanjose-1.oraclecloud.com,
          OU=Oracle ADB SANJOSE, O=Oracle Corporation, L=Redwood City, ST=California,
          C=US\")))"
    DB_USER="ADMIN" and DB_PASSWORD="your_password"
  3. Salve as alterações no arquivo ADBQuickStart.java.

Solução de Problemas e Depuração: Se você encontrar algum erro, consulte a página Dicas de Solução de Problemas para obter algumas dicas úteis.

Provisionar uma Instância do Oracle Autonomous Database

Você precisa de acesso a um Oracle Autonomous Database. Consulte Antes de Começar a Usar o Autonomous Database na Infraestrutura Dedicada do Exadata se você ainda não tiver um provisionado.

Lembre-se da senha que você usou para o usuário ADMIN. Para fins de demonstração, usaremos o usuário ADMIN, mas nossa recomendação é criar outros usuários de banco de dados usando o Oracle SQL Developer ou o Database Actions.

Obter Credenciais do Cliente

  1. Faça download de um arquivo de wallet na instância do Autonomous Database para obter um arquivo zip que contenha as credenciais de segurança do cliente e as definições de configuração de rede necessárias para acessar uma instância do Autonomous Database.

    Obtenha as credenciais de segurança do cliente (arquivo wallet.zip):

    • Usuário ADMIN: Na Console do Oracle Cloud Infrastructure, clique em Conexão do banco de dados. Consulte Fazer Download das Credenciais do Cliente.
    • Outro usuário (não administrador): Obtenha a Oracle Wallet junto ao administrador da instância do Autonomous Database.

    Observação:

    Proteja o arquivo wallet.zip e seu conteúdo para impedir o acesso não autorizado ao banco de dados.
  2. Descompacte o arquivo de credenciais do cliente (wallet.zip).

Instalar o JDK 8

Faça download do JDK 8 mais recente ou de versões JDK mais altas.

Observação:

Certifique-se de usar JDK8u162 ou uma versão posterior. Use java -version para verificar a versão do JDK que você instalou. Para verificar a versão do driver JDBC, digite java -jar ojdbc8.jar.

Baixe um programa de amostra do Github

  1. Faça download do arquivo ADBQuickStart.java do Github. Este aplicativo de amostra usa o esquema de amostra do Histórico de Vendas (SH) e exibe 20 registros da tabela SH.CUSTOMERS.
  2. Modifique o arquivo ADBQuickStart.java para incluir suas informações de conexão do Oracle Autonomous Database:
    • DB_USER: Você pode usar ADMIN, o usuário criado por padrão quando o Oracle Autonomous Database é criado (se você criar outro usuário do OracleAutonomous Database, poderá usar esse usuário).
    • DB_PASSWORD: Use a senha do usuário do banco de dados. Se estiver se conectando como o usuário ADMIN, defina-o com a senha escolhida durante a etapa Criar Autonomous Database ao provisionar o Oracle Autonomous Database. Por motivos de segurança, você precisa informar a senha por meio do console ao executar a amostra.
    • DB_URL: Informe o nome do serviço de rede (Alias de TNS) DBName_medium, em que DBName é o Nome do Oracle Autonomous Database informado durante a etapa Criar Autonomous Database ao provisionar o Oracle Autonomous Database. Os nomes de serviço de rede disponíveis podem ser vistos no arquivo tnsnames.ora, que faz parte do arquivo zip de credenciais do cliente.

      TNS_ADMIN deve apontar para o local em que você descompactou as credenciais do cliente do Oracle Autonomous Database.

    Um exemplo de arquivo Java de início rápido tem esta aparência:

    DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName" DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"
  3. Salve as alterações no arquivo ADBQuickStart.java.

Procedimento

Você pode estabelecer conexão com o Autonomous Database usando IntelliJ e Maven ou Gradle.

  1. Crie um projeto Maven.
    1. Clique no menu Arquivo, selecione Novo e, em seguida, selecione Projeto
    2. Selecione Maven no lado esquerdo e selecione a versão mais recente do JDK como Project SDK.
    3. Clique em Próximo.
    4. Nome como ADBQuickstart.
  2. Crie o arquivo ADBQuickStart.java.
    1. Clique com o botão direito do mouse em src/main/java.
    2. Selecione Novo e, em seguida, Classe Java
    3. Digite com.oracle.jdbctest.ADBQuickStart.java. Isso também criará a estrutura de pacote necessária. Certifique-se de copiar o conteúdo do arquivo ADBQuickstart.java para este novo arquivo.
  3. Modifique o arquivo pom.xml com as seguintes alterações: Adicione o Driver JDBC da Oracle como uma dependência.

    ojdbc8-production fará download do driver JDBC da Oracle (ojdbc8.jar) junto com ucp.jar (obrigatório para usar o UCP como um pool de conexões do cliente), oraclepki.jar, osdt_core.jar, osdt_cert.jar. Esses JARs são necessários para usar o Oracle Wallets ao estabelecer conexão com o Oracle Autonomous Database.

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    <dependencies>
      <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc8-production</artifactId>
        <version>19.18.0.0</version>
        <type>pom</type>
      </dependency>
    </dependencies>
  4. Crie e execute um ADB QuickStart. Compile o código Java clicando com o botão direito do mouse em ADBQuickStart.java e, em seguida, clique em Criar Módulo ADBQuickStart. Certifique-se de que você não tenha nenhum erro de compilação no código Java e esteja usando a versão mais recente do JDK.
  5. Execute o programa Java de amostra. Clique com o botão direito do mouse em ADBQuickStart.java e, em seguida, clique em Run ADBQuickStart.main(). Certifique-se de informar a senha do banco de dados na console.

    Exemplo de Saída:

    As linhas consultadas juntamente com uma mensagem de êxito são exibidas, como é mostrado na seguinte tela:



Observação:

Observação: se você estabelecer conexão com o Oracle Autonomous Database por trás de um firewall, provavelmente encontrará um erro de timeout de conexão. Certifique-se de estar fora do firewall durante a execução dessa amostra ou atualize o arquivo tnsnames.ora para usar um proxy HTTPS.
  1. Siga as instruções do Gradle Guide para instruções de download e build do Gradle e defina a variável PATH antes de usar os comandos do Gradle. Como primeira etapa, crie um projeto Gradle usando o comando a seguir. Certifique-se de escolher 2:application para Selecionar tipo de projeto a ser gerado. Além disso, para Pacote de origem (padrão:temp): use com.oracle.jdbctest.
    gradle init
  2. Copie o arquivo ADBQuickStart.java para o diretório src/main/java/com/oracle/jdbctest.
  3. Modifique o arquivo build.gradle com as seguintes alterações:
    • Adicione mavenCentral() como um repositório.
    • Adicione o driver Oracle JDBC como uma dependência.

      Observação:

      A produção ojdbc8 baixa o driver JDBC da Oracle (ojdbc8.jar) junto com ucp.jar (necessário para usar o UCP como um pool de conexões do cliente), oraclepki.jar, osdt_core.jar, osdt_cert.jar. Esses JARs são necessários para usar o Oracle Wallets ao estabelecer conexão com o Oracle Autonomous Database.

      Para obter informações adicionais, consulte o Guia do Maven Central.

    • Atualize o mainClassName para ADBQuickStart.
    • Adicione um bloco run para ler a senha da console.
      repositories { 
        // Maven Central
         mavenCentral()
       } 
      dependencies { 
        // Get the 19.18.0.0 Oracle JDBC driver along with other companion jars
        implementation("com.oracle.database.jdbc:ojdbc8-production:19.18.0.0")
       }
      application { 
        // Define the main class for the application
        mainClassName ='{your_project_directory}.ADBQuickStart' 
      } 
      // To pause to read the password from console
      run {
        standardInput = System.in
      }
  4. Criar um Aplicativo Gradle. Certifique-se de estar no diretório em que o arquivo build.gradle está presente. Compile o código Java usando o seguinte comando:
    ./gradlew build
  5. Execute o programa Java de amostra.
    ./gradlew run

    Exemplo de Saída: As linhas consultadas juntamente com uma mensagem de sucesso são exibidas, conforme mostrado na seguinte tela:



Observação:

Se você estabelecer conexão com o Oracle Autonomous Database por trás de um firewall, provavelmente encontrará um erro de timeout de conexão. Certifique-se de estar fora do firewall durante a execução dessa amostra ou atualize o arquivo tnsnames.ora para usar um proxy HTTPS.