cs_suzukMan
Messages postés58Date d'inscriptionmercredi 25 avril 2007StatutMembreDernière intervention13 septembre 2012
-
1 juil. 2008 à 17:19
hymnuade
Messages postés39Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention15 février 2010
-
12 nov. 2008 à 20:51
Bonjour,
Petit souci avec les package SSIS.
Je m'explique je lis dans une base sybase une table je voudrais ensuite inserer les données sous sql serveur.
jusque la pas de souci. Maitenant imaginons qu'une des tables de la base sybase posséde une nouvelle colonne à ce moment la je ne récupére pas celle-ci. alors comment résoudre le probléme?
Moi je cherchais à droper la table puis la recrées dynamiquement mais je ne trouve pas si quelqu'un peut me donner de l'aide merci!!
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 5 juil. 2008 à 22:38
Salut,
si la table sybase change de structure, forcément la destination SQL-SERVER doit aussi changer de structure pour recevoir la nouvelle colonne.
Il faut donc refaire le package dtsx.
hymnuade
Messages postés39Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention15 février 2010 12 nov. 2008 à 20:51
OU une solution plus chiante, mais plus dynamique ... tu commences ton package avec une lecture des tables système (je suppose qu'il existe un équivalent à aux vues système SQL Server) de sybase pour lister les noms et types de colonnes de ta table Sybase. Ensuite tu généres un script SQL de DROP et re-création de table dans SQL server selon le modèle obtenu depuis SyBase.
Le problème est que SSIS tient à ses metadata et donc tu ne peux pas envisager un flux direct Source --> Destination.
Par contre, tu peux envisager un INSERT INTO SELECT * FROM ou un bcp ou un bulk insert si les colonnes de la source e de la destination sont exactement les mêmes.
J'ai déjà fait un truc comme cela, en passant via un fichier csv généré depuis la base source, puis la génération dynamique via tâche de script d'un fichier fmy pour un BULK INSERT après.