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).