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 :

[DTS] exécuter un lot DTS depuis T-SQL (sp_OAMethod)


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2002
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2002
    Messages : 54
    Points : 58
    Points
    58
    Par défaut [DTS] exécuter un lot DTS depuis T-SQL (sp_OAMethod)
    J'ai un package DTS qui ne comporte qu'une seule tâche VB script. Quand je le lance manuellement pour le tester, j'obtiens bien le résultat attendu: le package fonctionne. 8)

    Maintenant, je veux exécuter ce package depuis une procédure T-SQL. Pour cela, j'utilise sp_OACreate et sp_OAMethod :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    -- création de l'objet DTS Package
    EXEC @hr = master.dbo.sp_OACreate 'DTS.Package', @object OUT
     
    -- chargement du Package
    EXEC @hr = master.dbo.sp_OAMethod @object, 'LoadFromSQLServer', NULL, 'MonServeur', 'MonLogin', 'MonPassword', '0', NULL, NULL, NULL, 'MonPackage'
     
    -- exécution du package
    EXEC @hr = master.dbo.sp_OAMethod @object, 'Execute'
    Là, je n'ai pas d'erreur, mais rien ne se passe. L'objet est bien 'package' est bien chargé, la méthode 'execute' est existe, etc. Mais je n'ai pas le résultat que j'obtiens en exécutant le package manuellement.

    Quelqu'un a-t-il utilisé ces méthodes sp_OA* avec un lot DTS ?
    Y a-t-il qqchose de particulier à gérer au niveau du lot DTS (des propriétés, etc.) pour permettre son exécution de cette manière ?

  2. #2
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    Pour executer ton lot dts tu peux utiliser l'utilitaire en ligne de commande DTSRUN et le lancer via xp_cmdshell depuis ta procedure stockee.

    a+
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  3. #3
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2002
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2002
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    J'ai trouvé Le code ci-dessus est correct.
    Comme d'habitude, a source de l'erreur est humaine ...
    Dans mon lot, j'utilise une lib particulière. Quand je lançais manuellement, le lot s'exécutait dans mon contexte client dans lequel cette lib est connue. Mais elle ne l'était pas sur le serveur, donc rien ne se passait.
    C'est tout de même étrange qu'aucune erreur ne remonte avec sp_OA*, mais qu'elles remontent avec xp_cmdshell...
    pb résolu.

  4. #4
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Les erreurs sont remontees avec SP_OACreate mais il faut utiliser sp_OAGetErrorInfo pour y acceder.
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

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

Discussions similaires

  1. Automatisation d'exécution des Lots DTS
    Par w.elassaad dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 01/06/2011, 13h13
  2. Réponses: 6
    Dernier message: 02/02/2009, 09h38
  3. [DTS][2k]Débutant Lots DTS
    Par dam28800 dans le forum SSIS
    Réponses: 0
    Dernier message: 15/10/2008, 09h07
  4. Exécuter des Lot DTS depuis VB.net
    Par sarah38 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 12/07/2007, 14h47
  5. [SQL2K] [DTS] Executer un lot DTS à partir d'un script ActiveX
    Par et.et-and-co dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/08/2006, 18h09

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