Page 2 sur 3

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 00:03
par blacksoul305
Super le lien. J'espère qu'il m'aidera à mener mon projet à bien !

Merci PandiPanda !

[EDIT:]

Voilà, donc j'ai réussi à faire un client et un serveur. Cependant, il y a un p'tit soucis concernant mon serveur.

Je lance le serveur en premier, j'ouvre une connexion et un port et attend que l'on se connecte à mon port d'ouvert.

Ensuite je mes mon Client qui va envoyer une première informations puis une seconde.
Pour être sur que le serveur reçoit bien, j'ai mis une MsgBox info (flag 64) qui m'informe que l'on m'a bien envoyé quelque chose, cependant, à peine je clique sur le bouton "OK" de la MsgBox que le serveur se ferme.
(Pour le serveur j'ai adapté l'exemple)

Peut-on me dire à quoi est due cette fermeture ?

Client
► Afficher le texte
Serveur
► Afficher le texte
Bon, je ne vois vraiment pas pourquoi le serveur ce ferme.

Si jamais j'arrive à corriger ce problème, il me reste plus que le code pour écrire dans la BDD !

Merci encore de votre aide !

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 00:26
par PandiPanda
Bon Bon comme je m'ennuyais un peu j'ai fait ca pour vous
► Afficher le textesur votre ordi ...
► Afficher le textea l'utilisateur ...
Pour faire un test, executer d'abord le 1er script, ensuite le 2eme et remplisser les champ ;)
un fichier ini sera créer sur votre bureau.

Edit; si vous vennez d'avoir des probleme c'est normal, c'est que je faisais des test en même temps xD !
et comme on utilise les mêmes nom ...

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 00:28
par blacksoul305
Seulement quelques petit défauts, j'ai l'impression que mes informations que j'envoie font le tour du net pour me retrouver avec ceci:
[coucou]
mdp=ca va ? ^^
Haha !

C'est ça votre passe temps quand vous vous ennuyez ? Vous créer des scripts complexes ?

Mais cela me donne une idée. Le client envoie ses informations, le serveur les reçoit et écrit directement les informations en un fichier .ini.

Je pourrai peut être me débrouiller pour que avec un autre programme, je lis le .ini, le pseudo par dans cette case là, le mot de passe dans l'autre !

Ça pourrait marcher ?

Merci pour les scripts !

EDIT: Mais il est génial ce script ! Le fichier .ini est bien organisé, cela me facilitera la vie pour la tâche 3, encore bravo !

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 00:32
par PandiPanda
j'ai pas compris ce que vous voule faire '^^
le fichier .ini n'étais la qu'a titre d'exemple, vous vouliez pas écrire dans une BDD ?

Pour info, le second script envoi l'information comme ceci => "username|mdp"
Si vous ne dépasser pas les 500 caractere, le script devrai fonctionner parfaitement.

Edit: de plus comme il est specifier dans le second script, vous devez trouver un nom UNIQUE pour "TestUser"
et differente voie s'offre a vous ^^
soit a coup de random, soit vous recuperer des info unique sur l'ordi, ou l'heure, etc ...

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 00:34
par blacksoul305
Si il y a moyen d'écrire dans ma BDD automatiquement via Autoit, ça m'intéresse oui... Il faudrait que j'y travail ...

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 01:01
par PandiPanda
étant donné que je travaille pas vraiment avec les BDD je pourrai pas vous être d'une grande aide ...
mais une petite recherche sur ce forum et à coup de question, suis sûr que vous arriverez à vos fin ;)

ca aide?

j'ai editer mon post plus haut, parceque à l'etat actuel du script, il ne fonctionne que pour 1 seule personne de connecter a la fois ^^ [je vous laisse faire "débuguage/amélioration"]

Bon une petite aide, comme je l'ai faite xD
le second script comme ceci;
► Afficher le textea l'utilisateur
ajout de la ligne permettant de rendre unique un utilisateur sur le channel (unique c'est un Grand mot, mais il y'a tres peu de chance qu'il aie 2 fois le même nom actuellement ...)

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 01:11
par blacksoul305
Arrgh...

J'ai rien trouvé de concluant pour l'instant.

Seul ce lien m'avait l'air convaincant, mais au moment où j'exécute le code (en ayant rentré mes informations de dans), j'ai le droit à une MsgBox marquée "Statut 0X000000000" et fini...

http://www.autoitscript.com/forum/topic ... _hl__mysql

J'ose espérer qu'un(e) fondu(e) des BDD SQLite sous Autoit passera par là pour m'aider !

Merci PandiPanda pour ton aide ci précieuse.

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 01:23
par PandiPanda
ceci vous aide pas?
un UDF tout fait, avec quelque exemple ici

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 17:26
par blacksoul305
Bonjour.

J'ai reçu deux scripts, Client&Serveur mais le soucis, c'est qu'à la de la transmissions, le serveur lui aussi se ferme. Je vous envoie les scripts:
(Scripts de floriande26, merci.)

CLIENT
► Afficher le texte
SERVEUR
► Afficher le texte
J'espère que vous trouverez une solution à ce problème.

Pour ce qui en est de l'écriture dans une BDD:
PandiPanda a écrit :ceci vous aide pas?
un UDF tout fait, avec quelque exemple ici
Je n'arrive même pas à ouvrir ma base de données donc écrire de dans...
Pour l'instant je n'arrive pas à avancer ? Vous avez des suggestions ? Une solution ?
Merci !

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 17:59
par PandiPanda
les scripts plus haut passant par IRC ne vous convenait pas?
vous voulez "absolument" passer par un systeme "client-serveur" ?

pourtant la mise en place est bien plus facile avec IRC surtout si ce n'est que l'envoi d'username et de mot de passe ...

pour la BDD j'ai pas regarder, je le ferai quand j'aurai le temps :P ^^

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 18:43
par blacksoul305
Si sous IRC c'est plus facile que sous Client-Serveur, on peut rester sous IRC.
Merci de chercher à propos de MySQL, j'utilise SQLite.

Par contre il y a un soucis, le fichier .ini ne se créé plus... Pourquoi ?

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 18:52
par PandiPanda
Pour moi c'est plus facile, enfin je pense xD

et si le fichier ini est déja créer il ne recréera plus, mais écrira juste dedans?

j'ai modifié un peu les script, maintenant vous voyez le moment ou vous envoyé, et quand le script principal reçoit. et le temps d'attente/réception est acceptable à mon avis ^^
► Afficher le texteScript 1 (sur votre ordi)
► Afficher le texteScript 2 pour l'utilisateur

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 19:02
par blacksoul305
Merci pour les deux scripts mais le problème persiste. Je n'ai rien touché, seulement créer les éxécutables pour pouvoir les tester et ça ne marche toujours.

Je lance le serveur d'abord et le client en suite, j'envoie et le client m'écrit "envoyé", cependant, le serveur tourne toujours, pas de fichier .ini à l'horizon et pas de message non plus. Est-ce le serveur IRC qui plante ?

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 19:08
par PandiPanda
non le serveur IRC ne plante pas, puisque j'ai fait les test y'a même pas 30 sec '^^
hmmmmm je vais vérifier cela :P

j'ai mit dans un fichier rar, les fichiers deja compilé, vous pouvez essayer?
perso ca fonctionne parfaitement ...

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 19:11
par blacksoul305
Ah bah là ça marche, vous avez modifier quelque chose ?

Et pour SQL, comment on fait ? Plus qu'une dernière ligne droite !

Re: [..] Écrire dans une BDD SQL à distance

Posté : sam. 27 août 2011 19:21
par PandiPanda
Non j'ai rien modifié, et pour SQL me suis pas pencher dessus, désoler '^^

Re: [..] Écrire dans une BDD SQL à distance

Posté : dim. 28 août 2011 22:23
par blacksoul305
Donc, j'ai commencé à tester pour SQLite mais je n'y comprend rien.
Toutes les commandes Autoit ne ressemblent pas et même en regardant l'aide j'ai toujours des trous !

Toujours en attente d'aide !

Merci à tout les Autoitiens Pro qui aident les Autoitiens débutant !

Re: [..] Écrire dans une BDD SQL à distance

Posté : dim. 28 août 2011 23:20
par jchd
Je pense que ton principal problème est la confusion que tu fais entre MySQL et SQLite. Ce sont deux moteurs de BDD qui n'ont strictement rien à voir, mis à part un certain nombre de notions et syntaxes SQL en commun (et encore, avec deux grains de sel) !
Je ne me suis pas beaucoup penché sur ce fil, car essentiellement étranger à MySQL.
Par contre, j'ai en effet une certaine expérience SQLite et sa mise en oeuvre sous AutoIt.

Partant de là, si on considère que le problème de la transmision TCP (ou autre) est une question distincte et apparemment bien couverte par d'autres intervenants, voyons le côté SQLite.

SQLite est parfait pour mettre en place une base de données soit pour un serveur (ton cas si j'ai bien capté) et/ou un ensemble de processus tapant dedans à partir de la même machine hôte. Je déconseille très fortement l'emploi de SQLite au travers d'un réseau (local ou pas, WinMachin, MacIntrash ou Linux), sauf à mettre en oeuvre des techniques non triviales pour des néophytes (je dis ça sans condescendance). La raison en est une instabilité chronique dans les différentes implémentations des protocoles de partage/verrouillage de fichiers, chose contre laquelle SQLite ne peut pas grand chose par lui-même.

Ceci dit, si ta couche serveur est en AutoIt, rien ne t'empêche de taper dans ta base SQLite locale soit par le process serveur lui-même soit via un programme dédié avec lequel tu peux communiquer par IPC (peu importe le moyen employé pour le lien IPC).

La question qui se pose est : quel doit être le schéma de ta base ? En d'autres termes : quelles informations vas-tu y stocker, quelles relations ont-elles entre-elles, quelles sont leurs contraintes et quelles requêtes vas-tu avoir à formuler de façon routinière ?
Une fois les réponses claires à ces questions, le "design" de ta base émergera tout seul et son emploi coulera de source, peu ou prou.

SQL n'est pas un langage de programmation classique ; il se base sur la théorie des ensembles (grosso modo). Il demande donc de se plier à certaines règles simples mais strictes et impose un mode de pensée potentiellement déroutant pour qui l'aborde pour la première fois. Cependant, une fois les bases acquises, il devient tout à fait naturel, étant fondamentalement logique par construction.

SQLite est un animal unique dans le monde des BDD car c'est de loin le moteur le plus répandu au monde, du fait de son emploi dans chaque Mac, chaque Linux/Unix, toute installation de FireFox, la majorité des produits Adobe, l'écrasante majorité des smartphones, des GPS et de bien d'autres équipements grand public ou professionnels. Paradoxalement, il est aussi, à l'opposé, au coeur de beaucoup de sites très fréquentés avec des bases de calibre DataCenter et des milliers d'utilisateurs simultanés.

Ce petit bout de soft placé dans le domaine public t'offre gracieusement toute sa puissance et sa versatilité. A toi de déterminer et d'exprimer tes besoins pour nous aider à t'en faire bénéficier.

Re: [..] Écrire dans une BDD SQL à distance

Posté : lun. 29 août 2011 01:24
par blacksoul305
:shock:
Ouaw, bah vous en connaissez des choses sur MySQL et SQLite.

Je voulais tout simplement savoir si c'était possible d'écrire dans une base de donnée avec Autoit (apparement oui) et comment faire ?
J'ai strictement rien compris...

Je résume les choses, le programme sur un autre ordinateur m'envoie deux informations:

1 pseudo
1 mot de passe

Je reçois ces informations via un serveur. Lorsque j'ai reçu ces informations, je veux les écrire dans ma base de donnée et c'est là où je coince, je ne sais pas comment on fait !

J'ai vu (et ne me suis pas trompé) que vous en saviez des choses sur SQLite pendant que je faisais mes recherches, peut être que cela est simple pour vous.

Bref, merci pour les explications et pour les futures aides !

Re: [..] Écrire dans une BDD SQL à distance

Posté : lun. 29 août 2011 22:34
par jchd
S'il ne s'agit que de stocker cela, ça va être facile à plier.
Soit dit au passage, on évite de stocker login et mdp dans une base. On ne stocke généralement que le login et le hash de (login, mdp et sel) pour de simples raisons de sécurité.
Sinon, va pour login et mdp en clair, mais on va quand même rajouter le moment de création et celui du dernier accès.
Les "timestamps" sont en temps UTC avec secondes fractionnaires, stockés sous format chaîne pour la simplicité d'affichage, au cas où.
Voici un squelette.
► Afficher le texte
Désolé du temps que je mets parfois à répondre, je suis actuellement dans une situation ... disons précaire à tout le moins.