Executer un lot DTS SQL Server depuis VB

jimmy49 Messages postés 7 Statut Membre -  
 hassan Islam -
Je souhaite executer un lot DTS de SQL SERVER directement par Visual Basic avec le fichier (monlot.bas) généré par SQL SERVER (option enregistrer sous Visual Basic).

Je ne sais pas comment faire, si quelqu'un peut m'envoyer un exmple de code : MERCI

11 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    ...

    La librairie sildde2 ne me dit rien du tout.
    Et il n'y a aucune DLL "sildde2.dll" sur mon disque dur.

    Bizarre.
    2
  2. hassan Islam
     
    pour executer votre module (monlot.bas), ouvrir ce dernier dans visual Basic 6.0 puis
    ajouter la référence suivante à votre projet : Microsoft DTSPackage Object (clquer la commande Références du Menu Projet)
    enrestrer le projet.
    2
  3. BOM
     
    utilise le processus suivant pour executer ton lot

    Créez une application Visual Basic qui exécute un lot DTS

    1. Démarrez l'environnement de développement Visual Basic et puis créez une nouvelle application Windows (EXE standard).
    2. Dans le menu Projet, cliquez sur Références. Sélectionnez Bibliothèque objet de Microsoft DTSPackage et cliquez sur OK.
    3. Ajoutez un nouveau bouton de commande au formulaire. Il aura le nom par défaut Command1.
    4. Ajoutez un gestionnaire d'événements à Command1 et puis ajoutez le code suivant si vous utilisez l'authentification SQL Server. Remplacez les valeur de chaîne dans le code suivant avec un nom de serveur approprié, un nom d'utilisateur et un mot de passe pour votre base de données. Sub Command1_Click()
    Dim dtsp As New DTS.Package
    dtsp.LoadFromSQLServer _
    ServerName:="MyServer", _
    ServerUserName:="MyUserID", _
    ServerPassword:="MyPassword", _
    PackageName:="DTSDemo"
    dtsp.Execute
    End Sub

    Si vous utilisez l'authentification intégrée Windows NT, ajoutez le code suivant.Sub Command1_Click()
    const DTSSQLStgFlag_UseTrustedConnection = 256
    Dim dtsp As New DTS.Package
    dtsp.LoadFromSQLServer _
    ServerName:="MyServer", _
    Flags:=DTSSQLStgFlag_UseTrustedConnection,
    PackageName:="DTSDemo"
    dtsp.Execute
    End Sub
    1
  4. thom
     
    Comment Executer un lot DTS dans SQL Server2005 ?
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Regarde du côté de DTSRun.

    C'est généralement une ligne de commande à lancer avec l'identifiant du package DTS.

    Un truc du genre:
    DTSRun /N nom du package

    (Tape DTSTun /? dans une fenêtre Dos).
    0
  7. jimmy49 Messages postés 7 Statut Membre
     
    en fait je connais cette possibilité : mais SQL SERVER permet de sauvegarder le lot dans un fichier VB de format .bas et je voudrais utiliser ce fichier pour l'integrer dans un programme VB
    MERCI
    0
  8. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Ben il génère directement un .BAS

    Il n'y a plus qu'à l'intégrer à ton projet VB, non ?
    0
  9. jimmy49 Messages postés 7 Statut Membre
     
    oui mais je ne sais pas programmer avec un .bas
    lorsque je l'insere au projet VB et que l'execute comme ca il me dit qu'il y a des elements qui ne sont pas définis : peut etre qu'il faut utiliser un fichier DLL ou autre où sont déclarés les éléments du DTS
    Mais la je ne sais pas faire
    MERCI
    0
  10. jimmy49 Messages postés 7 Statut Membre
     
    je pense qu'il me manque un truc du style :

    Declare Function SilOuvrirSession Lib "sildde2" (ByVal szVersion As String, ByVal szGpaoDir As String, ByVal szDatabase As String, ByVal szUser As String, ByVal szPassword As String, ByVal szDate As String) As Integer
    0
  11. jimmy49 Messages postés 7 Statut Membre
     
    en fait la sildde etait un exemple, je pense qu'il doit y avoir une dll pour les lots dts sql server
    a+
    0
  12. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    mmm... je ne sais pas.

    Pour manipuler SQL par programme, j'utilise habituellement SQL-DMO (très puissant), mais les DTS sont la seule chose qui n'est pas accessible par SQL-DMO.

    De toute façon J'ai une aversion prononcée envers les DTS.
    Je préfère programmer moi même (ou utilliser BCP) plutôt que d'utiliser DTS.

    (Des collègues sur un projet ont tout basé sur les DTS: ils ont des problèmes franchement merdiques en production.)
    0