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

C# Discussion :

Requete SQL contenant 2 databases différentes


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 64
    Par défaut Requete SQL contenant 2 databases différentes
    Bonjour !
    Je suis nouveau sur C#, je suis capable d'ouvrir une connection ODBC et Ole a mes 2 DB.

    Je fais ceci en VBA Access:

    -----------
    'tblClient = MySQL
    'tblClient1 = Access .accdb

    sSQL = "INSERT INTO tblClient SELECT * FROM tblClient1"
    CurrentDb.Execute sSQL
    etc.....
    -----------
    J'ai 2 databases, une est MySQL et l'autre un fichier Access .accdb

    En fait, je met à jour la table client dans Access avec les données de MySQL.
    Comme je disais, dans Access ca va super bien. Mes 2 tables client sont ajouter a mes sources de table dans Access.

    En C# comment j'ouvre mes connection/command pour pouvoir executer cette requetes ?

    Merci a tous !

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    Je ne suis pas très doué dans ce domaine, mais afin de te donner un coup de pouce, je te dirai qu'il faut que tu regarde du coté de ADO, c'est un peu le fer de lance de .NET et je suis sur que c'est ce qu'il te faut.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 64
    Par défaut
    Merci !

    Oui je connais ADO. Je réussis a ouvrir et aller chercher des données en C# avec les objet OdbcConnection, OdbcCommand, OdbcDataReader.

    Ce que je veux c'est de pouvoir faire une requête qui contient 2 databases ex.:

    sSQL = "INSERT INTO [DATABASES_1].tblClient SELECT * FROM [DATABASES_2].tblClient"

    Je ne sais pas quel objet utiliser pour faire ceci.

    Merci !

  4. #4
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Bonjour,

    Ce que tu souhaites faire, c'est de la réplication (voire de la synchronisation) de données? Il y a des outils pour ça, tu n'es forcément pas tributaire du provider (ADO, OLEDB, ODBC). Les providers sont une couche en dessous de toi, tu n'as pas à t'en soucier normalement sauf pour les connectionstring.
    Si c'est le cas, tu peux faire des recherches sur la réplication/synchronisation de données entre deux bases. Ce sera plus simple et cela t'éviteras de réinventer la roue carré

    Deuxième solution :
    http://dev.mysql.com/doc/refman/5.0/...-linked-tables

    troisième solution :
    Tu crées deux connections une à access l'autre à mysql avec ton datareader mysql tu itéres sur chaque enregistrement et tu crées une requête d'insertion que tu executes sur access.

    Bon dév.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 64
    Par défaut
    Bonjour !

    Pour ce cas precis oui, je veux faire de la replication...Merci !!!

    En fait c'est plusieurs technicien qui doivent mettre a jour leurs donner a distance. (Eux ils ont la BD locale Access, et le serveur distant est MySQL). Je dois leur faire un petit logiciel pour faire la synchronisation sur l'appuie d'un bouton.

    --------------------------------------------------
    Pour faire ca en Access c'est aussi simple que ca:

    Lié les 2 tables dans les source de table et ensuite executer ce code:

    sSQL = "INSERT INTO tblClient SELECT * FROM tblClient1"
    CurrentDb.Execute sSQL

    Y doit avoir un moyen d'executer cette ligne SQL en C# ??
    --------------------------------------------------
    Mais, si jamais ce n'est pas de la réplication...exemple:

    SELECT * FROM DATABASE1.tblClient WHERE (ID_Client NOT IN (SELECTtblclient.Id_Client FROM DATABASES2 WHERE Id_Client = 23));

    (Sql purement pour question ! loll)

    Merci !

  6. #6
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Citation Envoyé par Mustard007 Voir le message
    Bonjour !

    Pour ce cas precis oui, je veux faire de la replication...Merci !!!

    En fait c'est plusieurs technicien qui doivent mettre a jour leurs donner a distance. (Eux ils ont la BD locale Access, et le serveur distant est MySQL). Je dois leur faire un petit logiciel pour faire la synchronisation sur l'appuie d'un bouton.

    --------------------------------------------------
    Pour faire ca en Access c'est aussi simple que ca:

    Lié les 2 tables dans les source de table et ensuite executer ce code:

    sSQL = "INSERT INTO tblClient SELECT * FROM tblClient1"
    CurrentDb.Execute sSQL

    Y doit avoir un moyen d'executer cette ligne SQL en C# ??
    --------------------------------------------------
    Mais, si jamais ce n'est pas de la réplication...exemple:

    SELECT * FROM DATABASE1.tblClient WHERE (ID_Client NOT IN (SELECTtblclient.Id_Client FROM DATABASES2 WHERE Id_Client = 23));

    (Sql purement pour question ! loll)

    Merci !
    Tu es sur le mauvais forum pour ça. Ta requête sql s'execute sur le context base de données pas dans ton contexte c#, donc il faut poster plutôt sur le forum Access ou MySql

Discussions similaires

  1. [WD17] PB avec requete SQL Server "BACKUP DATABASE"
    Par droliprane dans le forum WinDev
    Réponses: 3
    Dernier message: 13/11/2012, 20h40
  2. Réponses: 2
    Dernier message: 15/02/2010, 01h07
  3. Réponses: 10
    Dernier message: 14/09/2007, 14h02
  4. Réponses: 3
    Dernier message: 18/09/2006, 20h55
  5. [MySQL] execution fichier contenant de requete sql
    Par DarkMax dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/10/2005, 17h28

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