SQL création table dynamyque (SSIS)

cs_suzukMan Messages postés 58 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 13 septembre 2012 - 1 juil. 2008 à 17:19
hymnuade Messages postés 39 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 15 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!!

Cordialement

2 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
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.
0
hymnuade Messages postés 39 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 15 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.

Bon courage
0
Rejoignez-nous