IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSIS Discussion :

Copier des tables entre serveurs de façon dynamique [2012]


Sujet :

SSIS

  1. #1
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut Copier des tables entre serveurs de façon dynamique
    Salut!

    J'espère que vous pouvez m'aider

    Je crée un système de copie de tables dynamique d'un server datafactory vers un server web (des tables SSRS précalculées)

    Pour cela j'ai créé une table qui stocke les tables prête à être copier (avec leur base de données source aussi)

    Maintanent dans SSIS je veux:

    1.Créer un variable de type objet pour stocker les résultats de mon SELECT (les noms de tables à exporter et leur base de données (TABLE_LIB, DATABASE_LIB)
    2. Boucler avec un foreach sur chaque table (recuperer ThisDataBase et ThisTable)
    3. Créer un flux de données avec source et destination dynamique en fonction de ThisDataBase et ThisTable

    Etapes 1 et 2 sont faites et marchent. Cependant j'ai du mal à faire l'étape 3 puisque je n'ai forcémment pas les même nombre de colonnes pour chaque itération de Foreach et donc je ne peux pas mapper la source et destination.

    Avez-vous des idées?? HELP!
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  2. #2
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    pour info, je voulais pas le faire par fichier pour augmenté les perfs.
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2010
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 304
    Points : 579
    Points
    579
    Par défaut
    Tu pourras pas le faire avec un data flow task.

    Par contre, dans ton cas, si c'est bien du SQL Server des deux côtés, j'essaierai bien un "Transfer SQL Server Objects Task"

  4. #4
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Avez-vous des idées?? HELP!
    Ne fait pas de data flow.
    Ne fait pas de data flow.
    Ne fait pas de data flow.
    En SMO tu serais plus à l'aise. http://blogs.msdn.com/b/mattm/archiv...ects-task.aspx
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  5. #5
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    C'est gentil merci. Mais j'ai essayé une tâche de transfert d'objets SQL Server.

    Le problème c'est que ma source est toujour la même instance mais la base de données et la table peux varier...

    J'ai déjà les noms de la base et la table en tant que variable string. Comment continuer? J'ai pu mapper le nom de la base source dans Expressions (SourceDatabase : @[User::ThisDataBase]) mais comment faire pour le nom de la table? Je ne vois pas l'option de nom de table....
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2010
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 304
    Points : 579
    Points
    579
    Par défaut
    Avec une expression sur la propriété TablesList, ça ne marche pas?

  7. #7
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    Il n'y a pas de propriété TablesList. J'ai que CopyAllTables ou peut être Name mais je sais pas à quoi ça correspond. C'est quand même assez limité si on peut pas faire ce genre de chose
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2010
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 304
    Points : 579
    Points
    579
    Par défaut
    Ah ouais tiens c'est marrant, y a bien la propriété TablesList mais on peut pas lui assigner une expression (alors qu'on peut sur 2008R2)

    Bon bah sinon, faut construire les requêtes dans un SQL Task

  9. #9
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Non mais sinon - pour l'avoir déjà fait - une script task de 10 lignes et c'est plié. Y a trop de trucs manquants dans la Transfer Objects Task.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  10. #10
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    Oui je pense que le seul option est le script, par contre j'ai aucune idée comment le faire.

    Pourriez vous m'aider à l'écrire s'il vous plaît?

    En gros j'ai en statique l'instance source et la base et instance destination. J'ai les variables @ThisDataBase et @ThisTable dans le boucle where. La table peut avoir le même nom sur la source et le destination. /cry
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  11. #11
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Même script que celui posté précédemment. Simplement la destDB doit être référencée par un autre objet SMO de type Server (ici les deux db référencent le même Server). Ensuite tu instancies un objet Transfer et ça roule.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  12. #12
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    OK Je comprends, J'ai fait un premier script. Cependant il y a deux problèmes.

    1. Je veux pas copier toutes les tables mais plutôt @ThisTable et le fonction xfr.ObjectList n'accepte que le type ArrayList.

    2. Pour assigner les serveurs nommés il faut faire comment? J'ai tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim srvDest As Server = "MonServeur\MonInstance"
    srvDest = New Server
    mais cela n'est pas accepté en tant que string.

    Voici mon script entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    #Region "Imports"
    Imports System
    Imports System.Data
    Imports System.Math
    Imports Microsoft.SqlServer.Dts.Runtime
    Imports Microsoft.SqlServer.Management.Smo
    Imports Microsoft.SqlServer.Management.Common
     
    #End Region
     
     
    <Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute()> _
    <System.CLSCompliantAttribute(False)> _
    Partial Public Class ScriptMain
        Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
     
     
     
     
        Public Sub Main()
     
     
            Dts.Variables("User::ThisDataBase").Value = Dts.Variables("User::ThisDataBase").Value
            Dts.Variables("User::ThisTable").Value = Dts.Variables("User::ThisTable").Value
     
            Dim dbSourceName As String = ("User::ThisDataBase")
            Dim dbDestName As String = "Publication_REPORTS"
     
     
     
     
     
            Dim srvSource As Server = "MonServeurSource\MonInstanceSource"
     
            srvSource = New Server
     
     
            Dim srvDest As Server = "MonServeurDest\MonInstanceDest"
     
            srvDest = New Server
     
     
     
     
     
            Dim dbSource As Database
     
            dbSource = srvSource.Databases(dbSourceName)
     
            Dim dbDest As Database
     
            dbDest = srvDest.Databases(dbDestName)
     
     
     
     
     
            Dim xfr As Transfer
     
            xfr = New Transfer(dbSource)
     
            xfr.CopyAllTables = False
     
            xfr.ObjectList = ("User::ThisTable")
     
            xfr.Options.WithDependencies = True
     
            xfr.Options.ContinueScriptingOnError = True
     
            xfr.DestinationDatabase = dbDest.Name
     
            xfr.DestinationServer = srvDest.Name
     
            xfr.DestinationLoginSecure = True
     
            xfr.CopySchema = True
     
     
     
            'Include data
     
            xfr.CopyData = True
     
     
     
            'Execute the transfer
     
            xfr.TransferData()
     
     
     
            Dts.TaskResult = Dts.Results.Success
     
        End Sub
     
    #Region "ScriptResults declaration"
        'This enum provides a convenient shorthand within the scope of this class for setting the
        'result of the script.
     
        'This code was generated automatically.
        Enum ScriptResults
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
        End Enum
     
    #End Region
     
    End Class
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  13. #13
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    Ok j'ai réussi à faire compilé le code. Cependant, j'ai une erreur. Je vous donne l'erreur et le code. J'avoue que je comprend rien du tout :

    Erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     à System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
       à System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
       à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       à System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
       à Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
    Et code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
    #Region "Imports"
    Imports System
    Imports System.Data
    Imports System.Math
    Imports Microsoft.SqlServer.Dts.Runtime
    Imports Microsoft.SqlServer.Management.Smo
    Imports Microsoft.SqlServer.Management.Common
     
    #End Region
     
     
    <Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute()> _
    <System.CLSCompliantAttribute(False)> _
    Partial Public Class ScriptMain
        Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
     
     
     
     
        Public Sub Main()
     
     
            Dts.Variables("User::ThisDataBase").Value = Dts.Variables("User::ThisDataBase").Value
            Dts.Variables("User::ThisTable").Value = Dts.Variables("User::ThisTable").Value
     
            Dim dbSourceName As String = ("User::ThisDataBase")
            Dim dbDestName As String = "Publication_REPORTS"
     
     
     
     
     
            Dim srvSource As Server
     
            srvSource = New Server("MonServeurSource\MonInstanceSource")
     
     
            Dim srvDest As Server
     
            srvDest = New Server("MonServeurDest\MonInstanceDest")
     
     
            Dim ArrayObjet As ArrayList
     
            ArrayObjet(0) = Dts.Variables("User::ThisTable").Value
     
     
     
            Dim dbSource As Database
     
            dbSource = srvSource.Databases(dbSourceName)
     
            Dim dbDest As Database
     
            dbDest = srvDest.Databases(dbDestName)
     
     
     
     
     
            Dim xfr As Transfer
     
            xfr = New Transfer(dbSource)
     
            xfr.CopyAllTables = False
     
            xfr.ObjectList = ArrayObjet
     
            xfr.Options.WithDependencies = False
     
            xfr.Options.ContinueScriptingOnError = True
     
            xfr.DestinationDatabase = dbDest.Name
     
            xfr.DestinationServer = srvDest.Name
     
            xfr.DestinationLoginSecure = True
     
            xfr.CopySchema = True
     
     
     
            'Include data
     
            xfr.CopyData = True
     
     
     
            'Execute the transfer
     
            xfr.TransferData()
     
     
     
            Dts.TaskResult = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
     
        End Sub
     
    #Region "ScriptResults declaration"
        'This enum provides a convenient shorthand within the scope of this class for setting the
        'result of the script.
     
        'This code was generated automatically.
        Enum ScriptResults
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
        End Enum
     
    #End Region
     
    End Class
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  14. #14
    Membre averti
    Homme Profil pro
    Consultant B.I. / .net
    Inscrit en
    Mai 2003
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant B.I. / .net

    Informations forums :
    Inscription : Mai 2003
    Messages : 215
    Points : 445
    Points
    445
    Par défaut
    L'erreur que tu copies est incomplète.
    Il manque les premières lignes contenant l'erreur. Néanmoins, dans ton code, cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim dbSourceName AS String = ("User::ThisDataBase")
    devrait sans doute être remplacée par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim dbSourceName AS String = Dts.VARIABLES("User::ThisDataBase").Value

  15. #15
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    Merci, j'ai mis ça à jour.

    Pour l'erreur c'est tout ce que Visual Studio me donne. Voici la capture

    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  16. #16
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    OK j'ai réparé les exceptions et j'ai réussi à faire copier les deux tables en question. Cependant, j'ai besoin de changer le comportement un peu mais je ne trouve pas comment.

    En gros il faut copier la table source en ajoutant un suffixe sur la fin du nom "_bis" (ainsi que la clé primaire). Une fois les données sont copiées et la PK créée en _bis je vais faire un drop de l'ancienne table et un sp_rename pour la remplacer avec la table _bis.

    Ceci est pour eviter le temps de coupure pendant la livraison.

    Donc ma question est :

    Comment faire pour avoir un nom de table et PK différent sur la source et la destination toute en gardant le mapping avec la classe transfer??
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

  17. #17
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    Bon beh je pense que ce n'est pas possible avec la classe transfer. Je vais faire avec. Merci de votre aide
    "Toute technologie suffisamment avancée est indiscernable de la magie." - Arthur C. Clarke

    Evan Barke - Ingénieur d'Etudes et Développement SQL Server
    Blog SQL Server, T-SQL, SSIS, Administration www.transactivesql.com
    Twitter - TransactiveSQL
    N'oubliez pas les boutons et

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. procédure stockée pour copier des données entre 2 tables
    Par zaki_1982 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 15/02/2012, 07h50
  2. Copier des données entre 2 tables identiques
    Par calou_33 dans le forum SQL
    Réponses: 3
    Dernier message: 17/02/2010, 14h46
  3. copier des données entre deux table access (vb2005)
    Par solid_sneak06 dans le forum VB.NET
    Réponses: 9
    Dernier message: 12/07/2008, 13h20
  4. [ADO.Net][VB.NET] Comment copier des données entre deux BDD différentes ?
    Par maddog2032 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 06/06/2005, 11h01
  5. Réponses: 4
    Dernier message: 04/07/2002, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo