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

Développement SQL Server Discussion :

Import MYSQL dans SQL Server avec filtre


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut Import MYSQL dans SQL Server avec filtre
    Bonjour,

    J'ai importé une table "login" provenant de Mysql dans SQL Server (via management studio -> task -> import data)

    Maintenant je souhaite uniquement importer les nouvelles données de cette table "login", dans ma table SQL Server.

    j'ai donc voulu créér une commande qui récupère uniquement les données supérieures à la dernière date que j'ai dans SQL
    pour cela j'ai utilisé cette commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from vue_kpi_login where vue_kpi_login.date > '(select max(X.dbo.Login.date) as date from X.dbo.Login)'
    vue_kpi_login = TABLE MYSQL
    X = BDD sur SQL Serveur
    dbo.Login = TABLE sur SQL Serveur

    Cette commande ne renvoie aucune erreur, mais elle me renvoie toute la table (et non les valeur > à la dernière date).
    Help
    Ce que je veux faire, est-ce possible ?

    Cordialement,
    Nicolas

  2. #2
    Membre averti Avatar de medardhino85
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2020
    Messages : 15
    Par défaut
    Bonjour

    tu as deux bases sur deux SGBD differents (MYSQL et MSSQL)
    pour que ton operation possible soit possible il ya certaines conditions à remplir
    - Ton identifiant de connexion doit avoir accès aux 2 bases de données
    - Et donc les 2 bases de données doivent se trouver sur le même serveur
    une fois ces conditions remplies tu pourras liés le serveur mysql à management studio en suivant la video ci-dessous



    le script te permettant de faire la liaison du serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    exec  [sys].[sp_addlinkedserver]
        @server		 ='mysql'	
    	,@srvproduct ='mysql'		
    	,@provider	='MSDASQL'	
    	,@datasrc	='mysql'	
    	,@provstr	='DRIVER={MySQL ODBC 5.2 ANSI DRIVER}; SERVER=localhost;PORT=3306;DATABASE=mysql;USER=root;PASSWORD=;OPTION=3'	
     
    exec  [sys].[sp_addlinkedsrvlogin]
    	@rmtsrvname	='mysql'
    	,@locallogin = NULL
    	,@rmtuser	='root'
    	,@rmtpassword =''
    Puis utiliser la fonction MERGE pour mettre a jour la seconde table en fonction de la première

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        MERGE base1.table1 AS target  
        USING base2.table2  AS source 
        ON (target.id.. = source.id..)  
        WHEN MATCHED THEN
            UPDATE SET Name = source.Name    /si tu veux faire l'update
        WHEN NOT MATCHED THEN   //sinon tu insere
            INSERT (UnitMeasureCode, Name)  
            VALUES (source.UnitMeasureCode, source.Name)
    pour plus d'information a l'utilisation de cette fonction va sur le lien ci-dessous

    https://docs.microsoft.com/fr-fr/sql...l-server-ver15

    merci

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    merci je vais regarder cela !!

  4. #4
    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
    Par défaut
    Bonjour,

    Pourquoi avoir mis la requête entre guillemets ? du coup, elle est interprétée comme une chaine de caractères (et non comme une requête), et la comparaison se fait donc entre les dates et la chaine '(select max(X.db...'

Discussions similaires

  1. Importer des fichiers CSV dans SQL Server avec SSIS
    Par nathantahiti dans le forum SSIS
    Réponses: 4
    Dernier message: 02/08/2011, 16h09
  2. Sauvegarde d'un fichier dans sql server avec enteprise library
    Par lemmings dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/12/2007, 21h20
  3. Réponses: 7
    Dernier message: 26/07/2005, 16h41
  4. Importer des données dans sql server avec DELPHI ???
    Par moutanakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2004, 17h22

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