Base de données sur serveur [Résolu]

Signaler
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
-
Herve_be
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
-
Bonjour,
Je cherche un moyen d'enregistrer les utilisations d'un logiciel VB6 dans une "DB" sur mon serveur.
Un simple fichier texte auquel j'ajouterais un enregistrement à chaque utilisation suffirait, mais il implique de télécharger le fichier sur le PC de l'utilisateur, ajouter une ligne, puis l'uploader à nouveau, mais ce fichier risque de devenir volumineux.
L'accès à MySql via VB6 convient aussi mais implique d'installer une DLL sur le PC de chaque utilisateur, trop fastidieux.
Je cherche donc une autre idée simple.
Merci d'avance pour vos réponses

5 réponses

Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
3
salut
je te conseil d'utiliser les fichiers XML, qui ne demande aucune installation.

ton fichier XML serait un peu comme ça:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
  </Data>
  <Connexion_Utilisateur>
    <Nom_Utilisateur>Manu</Nom_Utilisateur>
    <MotdePasse_Utilisateur>123</MotdePasse_Utilisateur>
   <Nom_Utilisateur>Pierre</Nom_Utilisateur>
    <MotdePasse_Utilisateur>456</MotdePasse_Utilisateur>
  </Connexion_Utilisateur>
  </Data>


après tu pourras crypté les données afin de ne pas voir les nom et les mots de passes.

A+
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
2
Merci pour ta réponse, mais je ne vois pas comment je pourrais ensuite ajouter un 2ème, 3ème, ... utilisateur dans le même fichier.
Je pense que, comme un simple fichier txt je devrais le télécharger, l'ouvrir en append, ajouter un utilisateur et l'uploader à nouveau non ?
Je cherche un moyen d'ajouter une ligne ou un record à un fichier se trouvant sur le serveur en le laissant sur le serveur.
ManuAntibes
Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
3
pour utiliser les fichiers xml, il y a plein d'info sur le net : https://msdn.microsoft.com/fr-fr/library/bb384833.aspx
Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
3
voici le code que j'utilise pour ajouter

    Private XmlDatabasedata_xmlConnexion As String = My.Application.Info.DirectoryPath  "\xml_Connexion.xml"


 Try
                If My.Computer.FileSystem.FileExists(XmlDatabasedata_xmlConnexion) = True Then
                    XmlDataSet.ReadXml(XmlDatabasedata_xmlConnexion)
                End If
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical, "Connexion au donnée XmlConnexion")
            End Try

Try
                Dim newCustomersRow As DataRow = XmlDataSet.Tables("Connexion_Utilisateur").NewRow()
                newCustomersRow("Nom_Utilisateur") = "Manu"
                newCustomersRow("MotdePasse_Utilisateur") = "123"

                XmlDataSet.Tables("Connexion_Utilisateur").Rows.Add(newCustomersRow)
                XmlDataSet.WriteXml(XmlDatabasedata_xmlConnexion)

                MsgBox("Connexion bien passé ...")
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical, "Connexion au donnée ")
            End Try
            XmlDataSet.Clear()



et si le fichier n'existe pas il ce créer tout seul...
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
2
Et tu ne dois rien déclarer comme ressource VB6 ou DLL ou autre ?
Je ne comprends pas où est le lien avec le serveur, je ne vois par exemple pas d'URL.
Je ne vois pas non plus comment exploiter le fichier XML.

J'ai pensé à une solution qui n'est pas très élégante mais ferait ce que je veux.
Chaque fois que je veux ajouter un enregistrement VB6 crée un fichier txt sur le PC de l'utilisateur, upload du fichier sur le serveur puis détruit le fichier txt; je me retrouve avec une foule de petits fichiers inexploitables directement.
D'autre part je crée un script php qui retrouve ces fichiers et crée un record MySql pour chacun d'eux en détruisant les fichiers txt au fur et à mesure.
Toutes les données sont alors exploitables en MySql.
Herve_be
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
2 > ManuAntibes
Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019

Je voudrais que chaque utilisateur puisse ajouter des données dans un fichier commun à tous les utilisateurs.
ManuAntibes
Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
3 > Herve_be
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020

alors dis moi un peu comment tu organises ton fichier texte.
et comment tu t'y retrouves pour info..
Herve_be
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
2 > ManuAntibes
Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019

Le but est de pouvoir tirer des statistiques sur l'utilisation du logiciel; les utilisateurs ne peuvent pas mettre n'importe quoi dans le fichier, c'est l'application qui y écrit des zones fixes, par exemple identification de l'utilisateur (pseudo), date, version du logiciel, ... toutes zones de largeur fixe éventuellement séparées par des ";" pour exploiter facilement par exemple en Excel.
ManuAntibes
Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
3
si tu veux progresser ou apprendre des trucs sur vb
va voir sur youtube
https://www.youtube.com/user/projetx7/playlists

il y des videos sur les xml et les fichiers txt et les dossiers...
Herve_be
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
2
La structure xml me semble fort compliquée pour si peu.
Messages postés
619
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
22 janvier 2020
2
Bonjour,
J'ai mis peu de temps à écrire la solution que j'avais envisagée; quelques détails pour info :

Le programme VB6 crée un fichier texte sur le PC de l'utilisateur;
je m'arrange pour que le nom du fichier soit unique;
le fichier contient une seule ligne reprenant les données statistiques;
le fichier est uploadé sur le serveur avec WinInet puis détruit.
Je vous passe le code VB6 tellement c'est simple (Open, Print, Close, Inet.Execute , "PUT ", Inet.Execute , "CLOSE", Kill).

Quand je veux exploiter les données, je fais tourner un script php qui, pour chaque fichier, crée un enregistrement en MySql puis détruit le fichier.
Bien que nous soyons dans la section VB6 et non php voici le code au cas où vous auriez une remarque; pour simplifier je n'ai pas indiqué les messages après "die"
   $db = mysql_connect(*****,*****,*****);
mysql_select_db(*****,$db) or die;
$dir = opendir("Usage");
while($file = readdir($dir))
{
$myfile = fopen("Usage/".$file, "r") or die;
$Record = fgets($myfile);
Je vous passe le décorticage du record
mysql_query("INSERT INTO RVRTlog (Version, Timestamp, Module, Userid) VALUES ('$Version', '$Timestamp', '$Module', '$Userid')") or die;
unlink("Usage/".$file);
}
mysql_close();

J'ai donc in fine une seule table MySql qui contient toutes les données que je peux exploiter à ma guise; je peux par exemple la télécharger en Excel (.csv) directement à partir du serveur.