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 :

Import données Oracle vers SQL 2005


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut Import données Oracle vers SQL 2005
    Bonjour,

    Je vous expose en quelques mots l'objet de ma demande:
    J'ai actuellement un lot DTSX qui rapatrie des données d'un serveur Oracle vers un serveur SQL 2005, il fonctionne en faisant un truncate des tables de la base SQL puis effectue un rapatriement complet des données en provenance du serveur Oracle or cela prend un temps fou du fait de la taille des tables à rapatrier ( 2 millions de lignes en moyenne ), comment pourrais je faire pour ne rapatrier que les données ayant changé depuis le dernier import ( ajout de données et suppression de données) afin de réduire le temps d'éxécution du lot.
    Merci de votre aide !

  2. #2
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Si vous ne possédez pas de colonne dans la base source oracle permettant de connaitre la date de modification de la ligne, vous pouvez essayer quelque chose comme c'est décrit ici.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut
    Merci de votre aide,

    Dans le lien que vous me donnez il semble que l'opération ne soit possible qu'a partir d'une source de données OLEDB or dans mon cas j'utilise un lien ODBC vers Oracle ....

    Je ne vois toujours pas trop comment faire ...

    Merci !

  4. #4
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Installez les drivers OLE DB vers oracle, ADO.Net aussi fonctionne.

    Sinon vuos pouvez toujours utiliser un OLEDB over ODBC (http://social.msdn.microsoft.com/for...-0712f9bc2cbc/)

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    Faites un serveur lié et à l'aide de 3 requêtes modifiez, insérez ou supprimez.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    -- nouvelles lignes ;
    INSERT INTO SQLServer... (liste cols)
    SELECT ???
    FROM ServerOracle...
    WHERE NOT EXISTS(critère sur clef ou autre entra table source et destination)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    -- anciennes lignes
    DELETE FROM SQLServer...
    WHERE NOT EXISTS(critère sur clef ou autre entra table source et destination)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    -- lignes modifiées
    UPDATE SQLServer...
    FROM ServerOracle... AS Source
          INNER JOIN ServerSQL.... AS Cible
                ON critère jointure
    WHERE Source.Col1 <> Cible.Col1
        OR Source.Col2 <> Cible.Col2
    ...
    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/ * * * * *

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut
    Merci de votre aide !

    Pourriez vous expliciter un peu plus les 3 requetes avec les syntaxes exactes ??

    Merci !

Discussions similaires

  1. Importation donnée Excel vers SQL Server
    Par exile69 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 22/04/2009, 10h01
  2. export de données [oracle vers sql server]
    Par khayate dans le forum VB.NET
    Réponses: 27
    Dernier message: 31/05/2007, 15h47
  3. importation données excel vers sql server2005
    Par ERIC49 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 24/05/2007, 15h19
  4. [debutan] migration de données Oracle vers SQL SERVER 2000
    Par Mil00se dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/08/2005, 17h44
  5. Migration de données Oracle vers SQL server
    Par joul's dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 16/02/2005, 15h05

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