[SQL Server 2000][DTS][NET 1.1] Exécution d'un package DTS
Bonjour,
Je souhaite effectuer le transfert de données d'une base MSDE vers une server MSSQL. Après avoir développé une DLL qui effectuait une "copie" des données (requête SELECT sur la base MSDE, requête INSERT sur la base MSSQL), j'ai constaté de gros problème de performance (j'ai plusieurs miliers de lignes à transférer).
En creusant un peu (je suis loin d'être un expert MSSQL), j'ai trouvé le module DTS qui pourrait répondre à mon besoin. J'ai créé un package DTS qui utilise 2 connections (source et destination) et effectue un import des tables (une tâche par table à transférer) en utilisant une requête SQL pour la source des données. J'utilise des variables globales pour filter mes données à transférer.
J'essai maintenant de développer une libraire en .NET qui utilise ce package sous forme de fichier .dts. A partir de VisualStudio 2003, je réfèrence les DLLs suivantes:
- dtspkg.dll
dtspump.dll
custtask.dll
J'arrive à ouvrir le fichier .dts
Code:
1 2 3 4 5 6 7 8 9
| Package2Class pkg = new Package2Class();
Object pVarPersistStgOfHost = null;
pkg.LoadFromStorageFile(
@"CopyData.dts",
null,
null,
null,
"CopyData",
ref pVarPersistStgOfHost); |
mais lorsque je tente d'obtenir une réfèrence sur une tâche de transfert
Code:
pkg.Tasks.Item("DTSTask_DTSDataPumpTask_1").CustomTask
j'ai l'erreur suivante:
Code:
Échec de QueryInterface pour l'interface DTS.CustomTask.
Quelqu'un a-t-il une idée?