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

Oracle Discussion :

GTT et partage de données


Sujet :

Oracle

  1. #1
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut GTT et partage de données
    Bonjour,

    Je dispose d'une base de données Oracle avec 2 utilisateurs, le premier dispose des procédures / fonctions et le second dispose de class Java.

    Une des classe me permet de faire un LS via SSFTP et de stoquer les résultats dans une Global Tempory Table (rataché à la session donc) et qui est en mode delete rows. Je suis donc incapable de récupérer ces données depuis l'autre utilisateur (logique).

    Mais maintenant il faut que je puisse les récupérer, comment faire ?
    Je vois plusieurs méthodes comme réaliser une fonction (attaché à l'utilisateur java) qui me retourne les données, mais sachant que je peux (potentiellement) avoir plusieurs LS en même temps il ne faut pas que les fichiers soient mélangé.

    Le top serait de pouvoir exécuter l'appel depuis la session du premier user. Mais je crois pas que ce soit possible. (si ?)

    Dans le pire des cas je pourrai donner le jar à l'utilisateur procédure mais si je peux éviter c'est mieux !

    Si vous avez un début de piste je suis preneur.

    Merci d'avance et bon week-end !

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Rien n'empêche un utilisateur 1 d'exécuter des objets appartenant à un autre utilisateur tant qu'il a les privilèges nécessaires.
    Je mets un bémol sur les classes Java car je n'en ai jamais utilisées.

    Sinon, vous pouvez ne pas utiliser une GTT.
    Utilisez une table classique et les données insérées et validées par l'utilisateur 2 seront visibles par tous, tant que les privilèges sont bien positionnés.

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par humitake Voir le message
    Bonjour,

    Je dispose d'une base de données Oracle avec 2 utilisateurs, le premier dispose des procédures / fonctions et le second dispose de class Java.

    Une des classe me permet de faire un LS via SSFTP et de stoquer les résultats dans une Global Tempory Table (rataché à la session donc) et qui est en mode delete rows. Je suis donc incapable de récupérer ces données depuis l'autre utilisateur (logique).

    Mais maintenant il faut que je puisse les récupérer, comment faire ?
    Je vois plusieurs méthodes comme réaliser une fonction (attaché à l'utilisateur java) qui me retourne les données, mais sachant que je peux (potentiellement) avoir plusieurs LS en même temps il ne faut pas que les fichiers soient mélangé.

    Le top serait de pouvoir exécuter l'appel depuis la session du premier user. Mais je crois pas que ce soit possible. (si ?)

    Dans le pire des cas je pourrai donner le jar à l'utilisateur procédure mais si je peux éviter c'est mieux !

    Si vous avez un début de piste je suis preneur.

    Merci d'avance et bon week-end !
    Incompréhensible!

    C'est quoi faire un LS ?

    Oubliez Java, les classes et tout ce charabia. Si vous est là c'est que vous avez un problème de manipulation des données dans une base Oracle. Maintenant exposez votre problème: que voulez vous faire, quels sont vos restrictions et quel est votre problème.

  4. #4
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Incompréhensible!

    C'est quoi faire un LS ?
    Il s'agit d'un LS dans le sens Linux, cad faire la liste des fichiers d'un répertoire.

    Citation Envoyé par mnitu Voir le message
    Oubliez Java, les classes et tout ce charabia. Si vous est là c'est que vous avez un problème de manipulation des données dans une base Oracle. Maintenant exposez votre problème: que voulez vous faire, quels sont vos restrictions et quel est votre problème.
    Justement, Java fait partie de mes contraintes.

    J'ai 2 utilisateurs, le premier contient mes procédures, package et fonction, le second contient tout une liste de classe Java.
    J'ai besoin que ma base de PROD puisse copier ses fichiers de données (avant traitement) vers la base d'iso-prod.
    Pour cela avant de les charger dans la base l'utilisateur 1 fait appel à des classes Java de l'utilisateur 2 pour réaliser la copie des fichiers aux travers du protocole SSFTP.
    L'algo est le suivant :
    1. La prod se connecte à l'iso-prod via SSFTP
    2. La prod génère la liste de ses fichiers (LS)
    3. La prod génère la liste des fichiers de l'iso-prod (LS via SSFTP)
    4. Pour chaque fichier présent dans le LS de la prod et non dans le LS de l'iso-prod est transféré.


    Le problème est donc le suivant :
    Quand j'appel la classe Java pour réaliser l'opération de LS je n'ai aucun résultat. Le problème étant que les données sont stockées dans la mauvaise session.

    Solution idéal : Est-il possible de faire exécuter les classes Java dans la session du premier utilisateur ?
    Mon utilisateur 1 à déjà les droits dessus (grant).

    Citation Envoyé par Waldar
    Rien n'empêche un utilisateur 1 d'exécuter des objets appartenant à un autre utilisateur tant qu'il a les privilèges nécessaires.
    Je mets un bémol sur les classes Java car je n'en ai jamais utilisées.
    Exact, c'est déjà le cas pour moi.
    Pour une classe Java c'est comme pour une procédure, c'est juste la syntaxe qui diffère légèrement.

    Citation Envoyé par Waldar
    Sinon, vous pouvez ne pas utiliser une GTT.
    Utilisez une table classique et les données insérées et validées par l'utilisateur 2 seront visibles par tous, tant que les privilèges sont bien positionnés.
    Oui mais si il existe une autre solution que de devoir manipuler la structure de la base de données ce serait encore mieux.
    Sinon ça fait beaucoup de modification car ce "procédé" est pas mal utilisé. Sauf qu'aujourd'hui le JAR qui permet de faire le LS est aussi présent chez mon utilisateur 1 et j'aimerai lui supprimer pour centraliser tous mes JAR sur un et un seul utilisateur.

Discussions similaires

  1. [C#][2.0][OUTLOOK]Ajout d'application et partage de données
    Par pc152 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/01/2008, 18h00
  2. probleme partage de données...
    Par Nemesys dans le forum Administration
    Réponses: 2
    Dernier message: 19/04/2006, 21h17
  3. partage de donné entre 2 thread
    Par firejocker dans le forum MFC
    Réponses: 7
    Dernier message: 26/01/2006, 14h54
  4. [architecture]Projet de site/partage de donnée
    Par Seth77 dans le forum Général Conception Web
    Réponses: 18
    Dernier message: 10/12/2005, 09h26
  5. partage de données entre applications
    Par dr_feelgood dans le forum Access
    Réponses: 2
    Dernier message: 09/11/2005, 10h42

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