Comme le titre l'indique, dans la PDB de la base de données OCI (Oracle Cloud Infrastructure) (DBaaS) Essayez de vous connecter avec le pilote léger JDBC de Java. Essayez-le avec la configuration suivante 彡 (゜) (゜)
Compute(Java, JDBC Thin Driver) ⇒ (Private Subnet) ⇒ DBaaS(PDB)
Ceci est une continuation de l'article précédent.
Essayez de vous connecter à la base de données OCI (DBaaS) PDB avec sqlplus. (Oracle Cloud Infrastructure) https://qiita.com/ora_gonsuke777/items/5029e8cb64fbd9fd62ce
Connectez-vous au PDB suivant.
Nom d'hôte (privé): dbname.subnetname.vcnname.oraclevcn.com Numéro de port: 1521 Nom du service PDB: ayspdb2.subnetname.vcnname.oraclevcn.com JDBC URL(thin) :jdbc:oracle:thin:@//dbname.subnetname.vcnname.oraclevcn.com:1521/ayspdb2.subnetname.vcnname.oraclevcn.com
Je me connecte à la PDB et j'obtiens le nom de la PDB de la vue V $ CONTAINERS. La chaîne de connexion est la même connexion simple que la dernière fois (nom d'hôte: numéro de port / nom de service) et 彡 (゜) (゜)
import java.sql.*;
public class GetContainerName {
    public static void main(String[] args) {
        final String path = "jdbc:oracle:thin:@//" +
                            "dbname.subnetname.vcnname.oraclevcn.com:" + //hostname
                            "1521/" + //port
                            "ayspdb2.subnetname.vcnname.oraclevcn.com"; //PDB Service
        final String id = "xxxxxxxx";  //ID
        final String pw = "yyyyyyyy";  //password
      
        try (
            Connection conn = DriverManager.getConnection(path, id, pw);
            Statement  stmt = conn.createStatement();
            ResultSet  rs   = stmt.executeQuery("SELECT NAME FROM V$CONTAINERS");
        ) {
            while (rs.next()) {
                String cn = rs.getString("name");
                System.out.println("Container Name => " + cn);
            }
        } catch(SQLException ex) {
            ex.printStackTrace();  //Error
        }
    }
}
Le style de compilation brut habituel 彡 (゚) (゚)
export JAVA_HOME=/home/opc/work/jdk1.8.0_191
export ORACLE_HOME=/home/opc/app/opc/product/18.0.0/client_1
export PATH=${JAVA_HOME}/bin:${PATH}
javac GetContainerName.java
java -classpath .:${ORACLE_HOME}/jdbc/lib/ojdbc8.jar GetContainerName
Container Name =>AYSPDB2 ★ ← nom PDB
Le nom PDB est sorti! 彡 (^) (^)
Tant que vous connaissez le nom de service de PDB, c'est très futuriste (゜) (゜) La prochaine fois, j'écrirai une connexion Autonomous DB (ADW / ATP).