Comment puis-je trouver l'URL et le port d'une base de données Oracle?
Exemple:
"jdbc: Oracle: thin: @Host: port: dbName", "userName", "password");
Existe-t-il une commande SQL ou un fichier journal/configuration que je peux consulter?
Avec Oracle, il y a tnsnames.ora
fichier qui définit les adresses de base de données. Ce fichier se trouve normalement dans $Oracle_HOME/network/admin
et est utilisé par les clients Oracle comme sqlplus ou Toad. Voici un exemple d'entrée tns:
ORA11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = hostname)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORA11)
)
)
À partir de cette entrée, vous pouvez comprendre que votre chaîne de connexion jdbc serait:
jdbc:Oracle:thin:@hostname:1521:ORA11
En lisant la documentation fournie avec le pilote JDBC en question.
Dans le cas du pilote léger Oracle JDBC, vous pouvez le trouver ici .
Spécification d'une URL de base de données, d'un nom d'utilisateur et d'un mot de passe
La signature suivante prend l'URL, le nom d'utilisateur et le mot de passe comme paramètres séparés:
getConnection(String URL, String user, String password);
Où l'URL est du formulaire:
jdbc:Oracle:<drivertype>:@<database>
L'exemple suivant connecte l'utilisateur scott avec le mot de passe tiger à une base de données avec INSTANCE_NAME orcl via le port 1521 de Host myhost, à l'aide du pilote Thin.
Connection conn = DriverManager.getConnection ("jdbc:Oracle:thin:@myhost:1521:orcl", "scott", "tiger");
Si vous souhaitez utiliser la connexion par défaut pour un pilote OCI, spécifiez soit:
Connection conn = DriverManager.getConnection ("jdbc:Oracle:oci:scott/tiger@");
ou:
Connection conn = DriverManager.getConnection ("jdbc:Oracle:oci:@", "scott", "tiger");
Pour tous les pilotes JDBC, vous pouvez également spécifier la base de données avec une paire mot-clé-valeur Oracle Net. La paire mot-clé/valeur Oracle Net remplace l'entrée TNSNAMES. L'exemple suivant utilise les mêmes paramètres que l'exemple précédent, mais au format valeur-mot-clé:
Connection conn = DriverManager.getConnection (jdbc:Oracle:oci:@MyHostString","scott","tiger");
ou:
Connection conn = DriverManager.getConnection ("jdbc:Oracle:oci:@(description=(address=(Host= myhost) (protocol=tcp)(port=1521))(connect_data=(INSTANCE_NAME=orcl)))", "scott", "tiger");
L'URL est simplement le serveur sur lequel il s'exécute.
S'il s'exécute localement, il doit s'agir de localhost: 1521. 1521 est le port par défaut des bases de données Oracle.
Jetez un oeil pour plus de lecture du port: http://www.red-database-security.com/whitepaper/Oracle_default_ports.html