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

MS SQL Server Discussion :

Création d'un agent et présence de fichier


Sujet :

MS SQL Server

  1. #1
    Opo
    Opo est déconnecté
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 35
    Points : 36
    Points
    36
    Par défaut Création d'un agent et présence de fichier
    Bonjour,

    je dois créer une tâche planifiée (chaque nuit) pour importer un fichier ds une table de ma base.
    je souhaite donc créer un "travail"
    La première étape est donc de tester la présence du fichier TXT afin de passer en étape 2 pour l'import ou bien de reboucler tant que le fichier est absent.
    Comment est ce que je peux écrire cette première étape ?
    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim fso, f
    Const ForWriting=2
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile("c:\sv\tot.txt",ForWriting,True)
    f.Close
    set f=nothing
    set fso=nothing

    Mais même si mon fichier n'existe pas... le bout de code ne plante pas (il me dit simplement que le résultat est vide) et il continue gentiment sur une étape "OK"...
    Comment puis je faire pour qu'il s'aperçoive que le fichier est absent ?
    d'avance merci de vos réponses.

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Normal comme réaction, en fait, dans votre script, vous ne lui indiquez pas de sortir au cas ou le fichier n'existe pas.
    Est ce que vous pouvez poster tout le code ?

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Générez une erreur de toute pièces au cas ou. Soit par levée d'exception VB soit par une vrai erreur genre division par zéro.
    Dans votre tâche dite que si erreur alors faire cela.

    A +

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Si tu es dans SQL Server 2005, tu pourrais avoir avantage à utiliser SSMS et profiter des événements WMI, qui peuvent te permettre de déclencher l'action au moment où le fichier tombe dans le répertoire.

  5. #5
    Opo
    Opo est déconnecté
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 35
    Points : 36
    Points
    36
    Par défaut
    Excellente l'idée de générer une erreur !!!
    effectivement, j'y pense rarement...
    Voici donc mon code (simplifié) mais qui marche pour ce que je veux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Set oWSH= CreateObject("WScript.Shell" ) 
    oWSH.Run "c:\dim_sv\copy.bat", 1, True 
    set oWSH = nothing
     
    Set fs = CreateObject("Scripting.FileSystemObject") 
    If fs.FileExists("C:\Pack1\toto.txt") then
    	set fs=nothing
    	iResult=1/1
    else 
    	set fs=nothing
    	iResult=1/0
    End If
    Et ds le COPY.BAT, je fais une bête copie de fichiers de répertoire à répertoire (plus tard, ce sera un transfert AS400) !
    Merci beaucoup !!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/11/2006, 12h18
  2. [VBA] Création d'un format d'import de fichier texte
    Par Julien Dufour dans le forum Access
    Réponses: 6
    Dernier message: 12/05/2006, 17h37
  3. création d'une liste d'après un fichier en c
    Par ghislain118 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 21/12/2005, 10h56
  4. [VBA][EXCEL] suspendre verification de présence de fichier..
    Par Scuriolus dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/12/2005, 08h33
  5. [FPDF] création d'un interface pour accés à des fichiers PDF
    Par StyleXP dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/12/2005, 10h18

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