Vous travaillez sur une base SQL Server et vous souhaitez effectuer des importations ou exportations de données sur votre base : Les DTS sont fait pour vous !Les DTS (Data Transformation Services) sont des services offerts par SQL Server qui permettent à l’utilisateur d’effectuer des transformations sur une base existante ou non. L’approche est plus ou moins complexe suivant le type d’opération à effectuer mais permet cependant un réel gain de temps sur des traitements à effectuer. Les traitements peuvent être effectuer en lots et/ou en parralléles (util lors d’une utilisation sur un serveur multi-processeur).La possibilité de rajouter des conditions et des priorités sur les opérations est très appréciable.Contrairement à des opérations via un langage externe (Delphi, Visual Basic, Visual C++, …) pilotant la base via une source de données ODBC, DTS permet de controler les bases directement à la source ! Pour vous donnez un exemple : J’ai réaliser une exportation d’un fichier CSV contenant 250’000 lignes dans une base SQL contenant déjà une centaine de millier de lignes.Le transfert à nécessiter 4 requêtes SQL afin de nourrir 4 tables différentes Les lignes suivantes présentent le temps d’éxecution de chacunes des 4 opérations plus les temps de traitements divers (temps maxis moyens).
- Effacement de la table temporaire : 7 secondes
- Transfert du fichier dans une base SQL temporaire : 25 secondes
- 1ere requête : Remplissage d’une table (84 lignes): 45 secondes
- 2éme requête : Remplissage d’une table (250’000 lignes): 2mn00 secondes
- 3éme requête : Remplissage d’une table (500’000 lignes): 3mn30 secondes
- 4éme requête : Remplissage d’une table (1’000’000 lignes): 7mn00 secondes
Au total : 1’750’084 lignes ecrites en 15 minutes environs. Le transfert et les traitements étaient effectués en 1h00 en Delphi via ODBC.On constate une gain de 75% sur le temps de traitement !Les traitements peuvent êtres simples et ne nécessiter qu’une simple requête ou bien nécessiter l’utilisation d’un script ActiveX, Java ou VB en vue du traitement.Les opérations pouvant être effectués sont nombreuses et variés.Mais les DTS ne s’arrêtents pas là, les lots de traitements sont facilement reditribuables et permettent à l’utilisateur des envois de mails lors d’éxecution de tâches ou en cas d’erreurs d’éxecution de lots.Je ne peux que vous conseillez un livre sur le sujet : (une cinquantaine de page y sont dédiées):Il s’agit de SQL Server 2000 par Marc ISRAEL chez EyrollesVoici quelques liens traitant du sujet :
- Des informations sur SQL Server (Source Developpez.com)
- DTS sur la MSDN Microsoft
- Un site complet sur le sujet : SQLDTS.Com (Examples, sources, liens, livres, …
- Un PDF pour une approche rapide
DTS est une approche quasi obligatoire pour les entreprises souhaitant effectuer des I/E de données sur leurs bases sans négliger le temps, la sécurité des données tout en évitant le développement d’applications couteuses dédiées à ces tâches fastidieuses.
3 commentaires On Import/Export de données sous Ms-SqlServer : DTS à la rescousse !
bonjour,
je lis que tu maitrise plutot bien sql 2000 du moins pour import/export
tu pourrais peut être m'aider, je cherche une manière de coder l'import manuellement ou automatique via un programme vb de données excel ou csv
j'ai essayé de récupérer le code créer lors d'un import via dts mais c'est un code pour un nouveau import dans une nouvelle table .
l'import avec csv se fait bien via dts alors qu'avec xls j'ai un message d'erreur.
merci d'avance si tu peux m'aider…
Hello,
Désolé de ne pas trop pouvoir t’aider sur VB mais tu peux consulter le site http://www.vbfrance.com où tu trouveras les réponses à ton problème.
Notemment http://www.vbfrance.com/infomsg_IMPORTATION-FICHIER-CSV-DANS-BASE-SQL-SERVER_981540.aspx
http://forums.devshed.com/visual-basic-programming-52/csv-import-into-sql2000t-70532.html
et plus généralement via http://www.google.fr/search?hl=fr&pwst=1&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=import+csv+vb+sql+2000&spell=1
Le script généré via les DTS ne doit sûrement pas être compatible avec VB.
bon courage 😉
ok merci
j’avais déjà vue ces pages et site
je vais encore chercher
merci encore