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

MS SQL Server Discussion :

Copie table AS400 dans SQL server


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2014
    Messages : 40
    Points : 30
    Points
    30
    Par défaut Copie table AS400 dans SQL server
    Bonjour,

    J'ai une question pour vous.

    D'abord, j'informe que je travail avec SQL Server Management Studio.

    Mon objectif est de créer une base de données pour la supervision de manutentionnaire.
    Je dois créer 5 tables.
    Sans rentrer dans le détails, l'une de ces tables est en réalité une "copie" d'une table provenant de l'AS400 (ODBC).

    Le hic, c'est comment réaliser cette copie?

    Je veux à terme créer une fonction qui remplie automatiquement les 4 autres tables lors que la table ds l'AS400 est modifiée. (surement avec des trigger)...

    Comment lier alors cette table AS400 dans SQL server, pour que je puisse exécuter des procédures/fonctions avec trigger?
    J'ai clairement peur que la fonction trigger ne marche pas puisque je la déclenche sur une table qui n'est pas ds sql server (là où j'écris mes procédures stockées).

    Je ne sais pas si je suis clair, mais je suis évident sujet à vos demandes de précisions.

    PS: Désolé, je suis novice en SQL. Donc pardonner mes imprécisions.

    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 758
    Points : 52 535
    Points
    52 535
    Billets dans le blog
    5
    Par défaut
    1) vous pouvez passer par un serveur lié pour assurer le lien entre votre base AS 400 et la table SQL Server. Dans ce cas, pensez à créer votre table avec une collation EBCDIC (qui est l'abominable jeu de caractère propre au monde IBM !)
    2) vous pouvez faire une tâche récurrente dans l'Agent SQL qui va scruter de manière régulière (par exemple toutes les 10 minutes) les nouvelles entrées de la table AS 400

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2014
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    Merci beaucoup pour votre aide.
    Pour le sous forum, je ne savais pas vraiment où le placer... donc désolé.

    Je vais me renseigner sur les informations que vous m'avez donné.

    Si j'ai bien compris, une "procédure" va scruter la table AS 400 qui va mettre à jour la copie de cette table dans SQL server toutes les 10 minutes?
    Donc, je dois créer une table ds SQL puis la liéer au serveur AS400, puis je dois créer une tâche récurente qui dois mettre à jour la table SQL.

    EDIT: Merci d'avoir déplacé le sujet.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 758
    Points : 52 535
    Points
    52 535
    Billets dans le blog
    5
    Par défaut
    C'est bien ça !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2014
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    Ok parfait.

    J'ai créé le serveur lié. Maintenant comment lier ce seveur avec la copie de ma table SQL?
    Ce sont des choses que je n'ai pas l'habitude de faire.
    Merci d'avance.

    EDIT: Je viens de comprendre que le "serveur liè" se manipule comme une table.
    Je dois donc creer une requete du style
    SELECT * INTO serveurliéAS400.tableAS400 FROM tablecopie WHERE False
    Est ce bien ça?
    Au prélable, tablecopie doit avoir exactement la même struture que tableAS400?
    Ce type de rêquete prend t'elle en compte le choix entre Update ou INsert si la clé existe déjà?

    EDIT 2 : Grâce à la reqête ci dessus. J'ai reussi à creer la tablecopie qui possède la même structure que tableAS400.
    Maintenant comment la remplir, sachant que si je selectionne des données tableAS400 et que je les copie ds tabelcopie alors je dois faire attention aux clés primaires déjà existantes. Il me faut l'equivalent de ON DUPLICATE KEY, qui ne marche pas sous sql server.

    Comment copier les données directement?

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez vous tourner vers la commande MERGE qui vous permettra d'insérer, mettre à jour, ou supprimer les lignes dans votre table cible en fonction de votre table source

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 758
    Points : 52 535
    Points
    52 535
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Archi89 Voir le message
    EDIT 2 : Grâce à la reqête ci dessus. J'ai reussi à creer la tablecopie qui possède la même structure que tableAS400.
    Maintenant comment la remplir, sachant que si je selectionne des données tableAS400 et que je les copie ds tabelcopie alors je dois faire attention aux clés primaires déjà existantes. Il me faut l'equivalent de ON DUPLICATE KEY, qui ne marche pas sous sql server.
    ON DUPLICATE KEY est une spécificité de MySQmerde dont le niveau de SQL date de 1992 !

    La norme c'est la commande MERGE que tous les autres SGBD supportent !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2014
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    Merci infiniment.
    Vous êtes des champions.
    Bon week-end à tous.
    J'aurais surement d'autres questions plus tard. Mais ce sujet est clos. Encore merci.

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

Discussions similaires

  1. Copie de tables dans SQL SERVER
    Par ash_rmy dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/06/2010, 09h27
  2. Importation des tables du AS400 au SQL Server
    Par Marc_27 dans le forum DB2
    Réponses: 0
    Dernier message: 12/08/2009, 15h21
  3. Exporter schema de table dans SQL Server
    Par skunkies dans le forum Modélisation
    Réponses: 3
    Dernier message: 12/01/2009, 18h19
  4. Selection depuis table sybase et insertion dans Sql Server
    Par bossun dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/01/2008, 17h03
  5. Copie de donnees dans SQL server 2000
    Par papayou42 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/12/2003, 10h58

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