Executer un lot DTS SQL Server depuis VB

Fermé
jimmy49
Messages postés
7
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
17 novembre 2005
- 17 nov. 2005 à 08:55
 hassan Islam - 12 sept. 2008 à 18:51
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

sebsauvage
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 649
17 nov. 2005 à 10:15
...


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

Bizarre.
2
hassan Islam
12 sept. 2008 à 18:51
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
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
Comment Executer un lot DTS dans SQL Server2005 ?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 649
17 nov. 2005 à 09:07
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
jimmy49
Messages postés
7
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
17 novembre 2005

17 nov. 2005 à 09:09
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
sebsauvage
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 649
17 nov. 2005 à 09:26
Ben il génère directement un .BAS

Il n'y a plus qu'à l'intégrer à ton projet VB, non ?
0
jimmy49
Messages postés
7
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
17 novembre 2005

17 nov. 2005 à 09:44
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
jimmy49
Messages postés
7
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
17 novembre 2005

17 nov. 2005 à 09:47
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
jimmy49
Messages postés
7
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
17 novembre 2005

17 nov. 2005 à 11:28
en fait la sildde etait un exemple, je pense qu'il doit y avoir une dll pour les lots dts sql server
a+
0
sebsauvage
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 649
17 nov. 2005 à 12:04
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