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

SQL Oracle Discussion :

Récupérer nom des fichiers de données


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Par défaut Récupérer nom des fichiers de données
    Oracle 9i

    Bonjour,

    Existe-t'il une vue donnant le nom des fichiers de données ?
    Je connais la colonne name de la vue v$datafile mais le problème est qu'il a le chemin complet vers le fichier et je ne vois pas comment couper la chaîne...

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    SUBSTR et INSTR sont tes amis

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Par défaut
    C'est bien ce que je pensais... mais le problème, c'est que le nom du fichier est du style : /u02/oracle/product/data/users.dbf

    INSTR récupère l'emplacement numérique du premier caractère rencontré donc un INSTR('/u02/oracle/product/data/users.dbf','/') donnerait l'emplacement 1. si on concatène ca dans un SUBTR, j'obtiendrais donc:

    u02/oracle/product/data/users.dbf

    Comment fais-tu pour supprimer les autres '/' sachant que la longueur du chemin peut changer ?

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT name, SUBSTR(NAME, INSTR(NAME,'/',-1) + 1, 200) FROM v$datafile

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Par défaut
    c'est bon, j'ai honte... je viens de regarder et j'avais oublier que le INSTR pouvait partir de la fin... je suis désolé d'avoir crée un sujet aussi pourri...



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUBSTR(name, INSTR(name,'/',-1)+1)from v$datafile;
    ALlez ON FERME !

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    ou même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUBSTR(NAME, INSTR(NAME,'\',-1) + 1) FROM v$datafile
    le 3eme paramètre de SUBSTR est facultatif

    Edit : grillé

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 224
    Par défaut
    J'ai honte...........

  8. #8
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Si tu prenais la peine de chercher un peu (dans la doc officielle sur INSTR par exemple), tu verrais que tu peux mettre une position négative pour qu'Oracle commence la recherche à l'envers (en l'occurence mettre la valeur -1 pour ton cas)

    Edit : j'ai été devancé dans la réponse
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

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

Discussions similaires

  1. récupérer noms des fichiers d'un repertoire
    Par Sun03 dans le forum PL/SQL
    Réponses: 6
    Dernier message: 26/01/2010, 18h32
  2. Changement de nom des fichiers de données
    Par Tolede78 dans le forum Débuter
    Réponses: 4
    Dernier message: 26/01/2010, 10h55
  3. Réponses: 3
    Dernier message: 04/07/2008, 11h07
  4. [SQL2005][SSIS] récupérer nom des colonnes fichier excel
    Par tehes dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/12/2007, 14h00
  5. ShellListView : comment récupérer les noms des fichiers?
    Par Lolo1988 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 11/12/2005, 23h19

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