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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mai 2019
    Messages : 5
    Points : 1
    Points
    1

    Par défaut Requête entre 2 bases distantes

    Bonsoir,
    Je cherche à transférer des valeurs d'une base vers une autre.
    J'alimente toutes les secondes une table d'une base locale qui est sur un site distant, connectée à internet en 4G.
    Je souhaite effectuer des requêtes en Python. Ces requêtes sont effectuées toutes 10 minutes.
    En local tout fonctionne mais je bloque pour la transmission des valeurs des requêtes sur une base de donnée MariaDB installée sur un serveur distant accessible par le web.
    D'avance merci pour l'aide… je ne trouve rien.
    Dimitri

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mai 2019
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    J'avais indiqué le langage Python mais une aide avec une requête SQL me suffirait.
    Je creuse mais rien ne fonctionne
    Help
    Merci

  3. #3
    Membre éprouvé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    septembre 2016
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2016
    Messages : 573
    Points : 1 062
    Points
    1 062

    Par défaut

    Citation Envoyé par dim74 Voir le message
    transmission des valeurs des requêtes sur une base de donnée MariaDB installée sur un serveur distant accessible par le web.
    Dès fois un bon dessin c'est bien aussi
    Le savoir est une nourriture qui exige des efforts.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mai 2019
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Bonjour,
    Je me réexprime un peu mieux, car j'ai beau chercher !!

    J’ai une base de données distante MySql (MariaDB). Je souhaite créer une requête dans une table pour rechercher une valeur et insérer cette valeur dans une table d'une autre base de données MySql (MariaDB) distante.
    J’ai trouvé des exemples qui fonctionne uniquement sur des bases en réseau local mais par distante.
    Quelqu’un aurait il une idée pour m’aider ?
    D’avance merci !

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 015
    Points : 12 049
    Points
    12 049

    Par défaut

    Salut dim74.

    Si vous savez le faire en local, c'est exactement la même chose pour une base de données distante.
    La seule différence concerne, le nom de votre site distant ou son adresse IP, le nom de la base de données, le compte par lequel vous accédez et son mot de passe.
    Autrement, la différence est dans la manière dont vous vous connectez à ce serveur distant.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mai 2019
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Salut
    Merci pour ta réponse, mais en fait je n'arrive pas :-(
    C'est peut être tout faux, mais il faut bien se lancer un jour ...

    Voici mon code Python :

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import pymysql
    import datetime
    #definition mysql local
    mysqlHost     =  "localhost"
    mysqlDatabase =  "**"
    mysqlUserName =  "**"
    mysqlPassword =  "**"
     
    #definition mysql serveur
    mysqlHost1     =  "adresse serveur accessible web"
    mysqlDatabase1 =  "***"
    mysqlUserName1 =  "***"
    mysqlPassword1 =  "***"
    # connection mysql
    try:
     sql_con = pymysql.connect(host=mysqlHost, user=mysqlUserName, passwd=mysqlPassword, db=mysqlDatabase)
     cur = sql_con.cursor()
    except pymysql.err.OperationalError:
     print("Erreur sur la Connection a la base de donnees!")
     quit()
    try:
     sql_con1 = pymysql.connect(host=mysqlHost1, user=mysqlUserName1, passwd=mysqlPassword1, db=mysqlDatabase1)
     cur = sql_con1.cursor()
    except pymysql.err.OperationalError:
     print("Erreur sur la Connection a la base de donnees!")
     quit()
    # ECRITURE TABLE
    champ_date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    sql_insert = "INSERT INTO mysqlHost1.nom_base.nom_table(date,valeur)SELECT date, MAX(vitesse) FROM table GROUP BY YEAR(Date), MONTH(Date), DAY(Date), HOUR(Date) ORDER BY Date DESC LIMIT 1;"
    cur.execute(sql_insert)
    sql_con.commit()

  7. #7
    Membre habitué Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    avril 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 324
    Points : 175
    Points
    175

    Par défaut

    hello dim74,
    puisque la connexion fonctionne parfaitement sur ton site local , je te conseille de faire un petit script en local uniquement pour tester la connexion sur ton serveur distant ensuite y faire des insertions avant de revenir dans ton script global.
    les serveur étant différent rassure toi que cet utilisateur possède les droits d'access sur le serveur distant .
    et n’hésite pas a poster ton message d'erreur .
    A+
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : mai 2019
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Hello Solo190,
    Tout fonctionne de ce côté j'arrive à insérer des valeurs dans la base distante.
    L'erreur est à la ligne 30 "cur.execute(sql_insert)"

    Erreur :
    pymysql.err.ProgrammingError: (1064, u"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '.vent_max_h1(date,vitesse_max_h1) SELECT date, MAX(vitesse) FROM anemo GROUP BY ' at line 1")

    D'avance merci de ton aide ;-)
    Dim

  9. #9
    Modérateur

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

    Informations forums :
    Inscription : janvier 2010
    Messages : 5 184
    Points : 10 709
    Points
    10 709

    Par défaut

    bonjour

    Et en supprimant mysqlHost1 dans le nom de la table ?

  10. #10
    Membre éprouvé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    septembre 2016
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2016
    Messages : 573
    Points : 1 062
    Points
    1 062

    Par défaut

    Bonsoir,

    Citation Envoyé par dim74 Voir le message
    vent_max_h1(date,vitesse_max_h1) SELECT date, MAX(vitesse) FROM anemo GROUP BY '
    Cette requête n'est pas l'insert indiqué avant.
    Le fait que le message d'erreur est une erreur de syntaxe c'est une bonne nouvelle car ça signifie que la connexion est bonne

    Pouvez vous donner le code de la requête ?
    Le savoir est une nourriture qui exige des efforts.

Discussions similaires

  1. Requête entre deux bases
    Par NeoKript dans le forum PHP & MySQL
    Réponses: 3
    Dernier message: 07/01/2010, 14h41
  2. Transfert de données entre 2 bases distantes
    Par slysoo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/11/2009, 12h10
  3. trigger entre deux bases distantes
    Par sousoujda2 dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 18/08/2008, 19h09
  4. requête entre deux Bases de données
    Par kokoroko dans le forum PHP & MySQL
    Réponses: 1
    Dernier message: 27/06/2007, 15h14
  5. Requête entre deux bases
    Par dcollart dans le forum Informix
    Réponses: 2
    Dernier message: 22/05/2006, 08h54

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