Connettere le applicazioni Go senza un wallet (TLS) mediante TLS

Puoi connettere le applicazioni Go all'istanza di Autonomous Database senza un wallet utilizzando TLS.

La connessione di un'applicazione Go senza wallet (TLS) fornisce sicurezza per l'autenticazione e la cifratura e la sicurezza viene applicata utilizzando le credenziali client (fornendo un nome utente e una password).

Argomenti

Abilita TLS in Autonomous Database e ottieni stringa di connessione

Per eseguire un'applicazione Go senza un wallet utilizzando TLS, abilitare l'istanza di Autonomous Database per le connessioni TLS e ottenere una stringa di connessione per contattare il database dall'applicazione Go.

  1. Determinare se l'istanza di Autonomous Database è abilitata per le connessioni TLS.

    Se l'istanza è abilitata per le connessioni TLS, nell'area Network della console il campo Mutual TLS (mTLS) authentication mostra quanto segue: Not Required:

    Segue la descrizione di adb_mutual_tls_not_required.png
    Descrizione dell'immagine adb_mutual_tls_not_required.png

    Se l'istanza richiede l'autenticazione TLS reciproca, consentire le connessioni TLS nell'istanza di Autonomous Database. Per informazioni dettagliate, vedere Aggiorna l'istanza di Autonomous Database per consentire sia l'autenticazione TLS che mTLS.

  2. Ottenere una stringa di connessione al servizio Autonomous Database per accedere al database come indicato di seguito.
    1. Nella console di Oracle Cloud Infrastructure, fare clic su Connessione al database.
    2. Selezionare TLS nella finestra di dialogo Connessione al database, in Stringhe di connessione, nell'elenco a discesa Autenticazione TLS.
      Nota

      È necessario selezionare TLS nell'elenco a discesa Autenticazione TLS per ottenere le stringhe di connessione TLS prima di copiare una stringa di connessione (se il valore è TLS reciproca, le stringhe di connessione hanno valori diversi e non funzionano con le connessioni TLS).
    3. Copiare la stringa di connessione per il servizio di database che si desidera utilizzare con l'applicazione.

Esegui applicazione Go senza wallet mediante TLS

Nella sezione riportata di seguito vengono descritti i passi per eseguire un'applicazione Go su un'istanza di Autonomous Database.

  1. Ottenere la stringa di connessione, come descritto in Abilita TLS su Autonomous Database e ottieni stringa di connessione.
  2. Nell'applicazione Go impostare i parametri riportati di seguito per connettersi a un'istanza di Autonomous Database.
    • password: specifica la password utente del database.
    • user: specifica l'utente del database.
    • libDir: directory singola in cui decomprimere il package zip di Oracle Instant Client.
    • connectString: utilizzare la stringa di connessione ottenuta dal passo precedente per connettersi utilizzando il nome del servizio di database desiderato.

    Per eseguire un'applicazione Go utilizzando il driver godror, è necessario prima importare il pacchetto godror.

    Di seguito è riportato un codice di esempio nell'applicazione Go che consente di connettersi a un'istanza di Autonomous Database.

    package main
    
    import (
        "database/sql"
        "fmt"
    
        _ "github.com/godror/godror"
    )
    
    func main() {
        connectToADb()
    }
    
    func connectToADb() {
        fmt.Println("Connecting to Oracle Autonomous database !!!")
        db, err := sql.Open("godror", `user="admin" password="password" 
        connectString="tcps://adb.ap-mumbai-1.oraclecloud.com:1522/abcd_xxxx_medium.adb.oraclecloud.com?wallet_location=/Users/user/tool/wallet_DB/"
        libDir="/home/user/tool/instantclient_19_8/"`)
        if err != nil {
            fmt.Println(err)
            return
        }
        defer db.Close()
    
        rows, err := db.Query("select 'hello' from dual")
        if err != nil {
            fmt.Println("Error running query")
            fmt.Println(err)
            return
        }
        defer rows.Close()
    
        var resData string
        for rows.Next() {
    
            rows.Scan(&resData)
        }
        fmt.Printf("The response is: %s\n", resData)
    }
    

    Questo codice restituirà i record recuperati da Autonomous Database.