IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Comment récupérer et/ou préciser le schéma dans une chaine de connexion ?


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Points : 83
    Points
    83
    Par défaut Comment récupérer et/ou préciser le schéma dans une chaine de connexion ?
    Bonjour à tous,

    est il possible dans l'url d'une connexion JDBC de préciser un schéma de base de données? Est il également de le préciser lors de l'exécution de la requête?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","user","password");
    		//String requete2="CREATE TABLE test18("	+	"colonne1 INT , colonne2 INT"+")";
    		String requete = "SELECT * FROM USER_TABLES";
     
    		Statement stmt = conn.createStatement();
    		ResultSet resultats = stmt.executeQuery(requete);
    		ResultSetMetaData rsmd = resultats.getMetaData();
     
    		int nbCols = rsmd.getColumnCount();
    		boolean encore = resultats.next();
    		while (encore) {
    			ResultSetMetaData rsmdboucle = resultats.getMetaData();
    			System.out.println("CATALOG "+ rsmdboucle.getCatalogName(0));
    			System.out.println("SCHEMA "+rsmdboucle.getSchemaName(0));
    			for (int i = 1; i <= nbCols; i++)
    			{
    				//b.setNomConnexion(resultats.getString(i));
    				System.out.print(resultats.getString(i) + " ");
    			}
    			System.out.println("-----");
    			encore = resultats.next();
    		}
    		resultats.close();
    		conn.close();
    Dans mon code le getSchemaName et getCatalogName renvoient toujours la chaine vide. Ces fonctions nécessite un parametre(int) mais je ne sais pas quoi y mettre.

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Points : 83
    Points
    83
    Par défaut
    Le schéma est il nécessairement le même que le nom d'utilisateur (ici user ?)?
    Un utilisateur peut il agir sur plusieurs schemas ?

    Après quelques recherches sur developpez voici la réponse à ces questions :

    1.1.1. Définition d'un schéma
    Un schéma est une collection (ou un ensemble) nommé d'objets tels que des tables, vues, clusters, procédure et packages associés à un utilisateur précis. Quand un utilisateur de base de données est crée, son schéma est automatiquement crée. Un utilisateur ne pourra alors être associé qu'à un seul schéma et réciproquement.

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    La façon d'écrire les url de connection dépend de l'implémentation faîte par le constructeur (même si en général elles sont toutes très proches).
    Dans ton cas il s'agit d'une chaîne de connexion Oracle, Oracle possède une FAQ Oracle JDBC (en anglais)
    regarde notamment la partie concernant les connexions où il y a notamment des explications pour spécifier des propriétés (je pense que tu dois pouvoir par là spécifier le schema de la connexion )
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Points : 83
    Points
    83
    Par défaut
    Si je ne dis pas de bétise et après un peu plus de recherches notamment ici :

    http://oracle.developpez.com/guide/a...ion/adminuser/

    Un schéma n'a donc qu'un seul user et un user n'a qu'un seul schéma. Ils portent donc obligatoirement le même nom.

    Une petite confirmation d'un Administrateur Oracle serait sympa !

    Sinon je me penche plus sur les properties de la connection !

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 109
    Points : 83
    Points
    83
    Par défaut
    Un utilisateur ne pourra alors être associé qu'à un seul schéma et réciproquement.
    En Oracle on pourra assimiler un utilisateur avec son schéma.
    La confirmation est toute trouvée.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment récupérer le nom de la cellule dans une plage
    Par DubDub dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2009, 12h26
  2. Réponses: 8
    Dernier message: 18/04/2008, 17h40
  3. [MySQL] Comment récupérer le nombre d'élément présent dans une table
    Par TrX314 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/04/2007, 21h20
  4. Réponses: 2
    Dernier message: 17/09/2006, 23h33
  5. Réponses: 4
    Dernier message: 01/05/2006, 23h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo