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

Développement SQL Server Discussion :

requête SQL select avec commande XP (xp_fileexist)


Sujet :

Développement SQL Server

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Points : 129
    Points
    129
    Par défaut requête SQL select avec commande XP (xp_fileexist)
    Bonjour,

    J'ai les requêtes suivantes qui marchent très bien, et qui me donnent chacune de manière un peu différente l'info que le fichier existe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DECLARE @fileexists int
    EXECUTE xp_fileexist '\\euisafr035\WhoIsWho\0134011F.jpg', @fileexists OUTPUT
    SELECT @fileexists
     
    EXECUTE xp_fileexist '\\euisafr035\WhoIsWho\0029176F.jpg'
    J'ai une table composée de 2 colonnes: la première est la colonne ID, et la seconde la colonne des noms des photos.
    J'aimerai pouvoir chercher tous les ID pour lesquels la photo n'existe plus, un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select ID from maTable where (Photo n'existe pas)
    J'aimerai remplacer correctement (Photo n'existe pas) par une requête avec la commande xp_fileexist...

    Si quelqu'un a une idée, je suis preneur!

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Le mieux est d'écrire une procédure stockée d'assembly en utilisant les classes File et FileInfo de la bibliothèque System.IO.
    Vous pouvez stocker son résultat dans une table puis effectuer votre requête en T-SQL.

    @++

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Points : 129
    Points
    129
    Par défaut
    J'ai créée une table temporaire avec laquelle je fais mes jointures pour mon traitement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE TABLE #tbl (filename varchar(255))
    insert into #tbl
    exec master..xp_cmdshell 'dir /B \\euisafr035\WhoIsWho\*.jpg'
    Merci pour ton aide elsuket!

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

Discussions similaires

  1. Requête SQL SELECT, avec retour à la ligne
    Par patrmich dans le forum Langage SQL
    Réponses: 7
    Dernier message: 12/11/2014, 16h12
  2. [Requête SQL] - Select count avec plusieurs tables
    Par Pithonnette dans le forum SQL
    Réponses: 7
    Dernier message: 25/06/2009, 20h19
  3. Requête SQL - Pb avec la clause GROUP BY
    Par jeromesco dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/07/2006, 10h04
  4. [SQL] SELECT avec tri et limite
    Par Resyek dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/04/2006, 16h00
  5. [MySQL] probleme d'une requête SQL crée avec phpmyadmin
    Par ghita269 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/10/2005, 11h15

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