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

Herve_be 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention - 17 oct. 2015 à 11:28 - Dernière réponse : Herve_be 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention
- 21 oct. 2015 à 11:49
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
Afficher la suite 

Votre réponse

12 réponses

ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 18 oct. 2015 à 08:14
0
Utile
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+
Commenter la réponse de ManuAntibes
Herve_be 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention - 18 oct. 2015 à 11:38
0
Utile
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 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 18 oct. 2015 à 12:53
pour utiliser les fichiers xml, il y a plein d'info sur le net : https://msdn.microsoft.com/fr-fr/library/bb384833.aspx
Commenter la réponse de Herve_be
ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - Modifié par ManuAntibes le 18/10/2015 à 13:38
0
Utile
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...
Commenter la réponse de ManuAntibes
Herve_be 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention - 18 oct. 2015 à 16:24
0
Utile
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 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention > ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 19 oct. 2015 à 11:50
Je voudrais que chaque utilisateur puisse ajouter des données dans un fichier commun à tous les utilisateurs.
ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention > Herve_be 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention - 19 oct. 2015 à 12:13
alors dis moi un peu comment tu organises ton fichier texte.
et comment tu t'y retrouves pour info..
Herve_be 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention > ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 19 oct. 2015 à 13:34
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 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 18 oct. 2015 à 18:23
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 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention - 19 oct. 2015 à 13:35
La structure xml me semble fort compliquée pour si peu.
Commenter la réponse de Herve_be
Herve_be 198 Messages postés mercredi 4 août 2010Date d'inscription 16 mars 2018 Dernière intervention - 21 oct. 2015 à 11:49
0
Utile
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.
Commenter la réponse de Herve_be

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.