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 de données du mysql vers sql server


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut import de données du mysql vers sql server
    salut tout le monde

    j'ai un site web fait en php/mysql, et je voudrais importer les données d'une table clients de mysql vers une table de ma base de données local SQL Server 2005, je ne sais pas comment faire cette liaison et comment fournir le code d'accés ETC dans ma requête sql server.

    Merci d'avance pour vos aides les ami

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonsoir,

    Plusieurs solutions s'offrent à vous et il faudra choisir celles qui vous convient la mieux :

    - Utiliser BCP et charger vos données d'un fichier vers SQL Serer
    - Créer un serveur lié sur SQL Server vers votre serveur MySQL et importer vos données depuis ce serveur lié via les instructions SQL adéquates.
    - Utilisez SSIS et créer votre package d'intégration des données

    ++

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut re
    Salut et merci pour ta réponse
    en fait j'ai opté pour la création d'un serveur lié sur SQL Server vers mon serveur MySQL et importer mes données depuis ce serveur lié
    j'ai fait comme suit et corrige moi SVP:

    1) j'ai installé sur mon ordi le driver MySql ODBC 5.1 Driver

    2) j'execute la requête sql suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    EXEC master.dbo.sp_addlinkedserver
     @server = N'MYSQL_server',
     @srvproduct=N'MySQL',
     @provider=N'MSDASQL', 
     @provstr=N'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=NomServerdeMonSiteWeb ; DATABASE=NomBd; UID=NomUser ; PASSWORD=PWS; OPTION=3'
     
    go
    SELECT 
    *
    FROM OPENQUERY(MYSQL_Server, 'SELECT nombre from NomBd.[NomChamp]')
    go
    3) et il m'affiche l'erreur suivante:
    The server 'MYSQL_server' already exists.
    OLE DB provider "MSDASQL" for linked server "MYSQL_Server" returned message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified".

    Msg 7303, Level 16, State 1, Line 1
    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "MYSQL_Server".



    puis est ce que les paramétres que je fournis sont corrects dans

    @server = N'MYSQL_server',
    @srvproduct=N'MySQL',
    @provider=N'MSDASQL',
    @provstr=N'DRIVER={MySQL ODBC 5.1 Driver};
    ???



    Merci de m'aider , j'arrive pas à avancer avec ce problème

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Apparemment un serveur lié ou distant existe avec le même nom.

    Vous pouvez le vérifier avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sys.sysservers;
    Concernant votre requête la syntaxe que vous utilisez me paraît incorrect.

    Essayez ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM OPENQUERY(MYSQL_Server, 'SELECT nombre from <table>')

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM MYSQL_Server.<nomBDD>.<schema>.<table>
    ++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut re
    C'est quoi le provider de mysql , et comment le télécharger?
    d'aprés ce que j'ai compris, je dois changer la MSDASQL (pour sql server)
    par MySqlProv (pour mysql)

    c'est ça?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut Re
    C'est quoi le provider de mysql , et comment le télécharger?
    d'aprés ce que j'ai compris, je dois changer la MSDASQL (pour sql server)
    par MySqlProv (pour mysql)

    c'est ça?

  7. #7
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Non MSDASQL est bien le driver qu'il vous faut car vous implémentez une connection de type ODBC.

    C'est ensuite dans le la chaîne de connexion du provider que vous spécifiez préciser le type .. donc dans votre cas celui que vous installez : MySQL ODBC 5.1 Driver

    Votre problème constitue plus un problème de syntaxe pour le moment

    Avez vous tenté ce que je vous ai mis dans le précédent post ?

    ++

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut re
    oui, et voilà ma syntaxe

    EXEC master.dbo.sp_addlinkedserver
    @server = 'MyServer',
    @srvproduct=N'MySQL',
    @provider=N'MSDASQL',
    @provstr=N'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=MonServeur ; DATABASE=MaBase; UID=User ; PASSWORD=PWS; OPTION=3'

    go
    SELECT *
    FROM OPENQUERY(MyServer, 'SELECT Champ from <table>')
    go


    et le msg d'erreur qu'il m'affiche est le suivant:

    OLE DB provider "MSDASQL" for linked server "MyServer" returned message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified".
    Msg 7303, Level 16, State 1, Line 1
    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "MyServer".

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut re
    c'est bon, cé résolu

    je devais juste enlever les espaces dans la chaine de provider @provstr
    et ça marche
    Merci beaucoup pour ton aide précieux,

    Bye bye

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

Discussions similaires

  1. import de données du mysql vers sql server
    Par da_latifa dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/10/2009, 15h40
  2. importer une BDD MySQL vers SQL Server 2005
    Par Ajite dans le forum Outils
    Réponses: 3
    Dernier message: 08/10/2007, 18h06
  3. [SQL server 2005]importer une BDD de Mysql vers SQL server
    Par Fadaflux dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 28/06/2007, 11h56
  4. Importer des données de Mysql vers SQL server 2005
    Par housni dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/06/2007, 18h02
  5. Importer du Mysql vers Sql Server 2005
    Par Mickael Scofild dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/05/2007, 20h18

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