[SOCPB 2006] Projet # 1 : Rendre facile la gestion de MySQL
pour l'instant c'est juste une archive zip avec les .dll, les .lib, les .pbi nécessaires, et des examples pour tester le tout. tout le nécessaire 'client' ( par opposition à 'client' / 'serveur' ) est dans l'archive.
pour l'instant, rien de compilé, juste le source, j'attends toujours des testeurs et une version de tailbite autorisant les parametres optionnels et l'unicode.
bien sûr, il vous faut installer un serveur (postgresql) sur votre ordinateur sinon vous ne pourrez rien tester. le serveur postgresql se télécharge gratuitement sur le site officiel.
pour l'instant, rien de compilé, juste le source, j'attends toujours des testeurs et une version de tailbite autorisant les parametres optionnels et l'unicode.
bien sûr, il vous faut installer un serveur (postgresql) sur votre ordinateur sinon vous ne pourrez rien tester. le serveur postgresql se télécharge gratuitement sur le site officiel.
Là, c'est un peu vague comme erreur.
'Can't connect to MySQL server' implique plein de chose à vérifier de ton coté.
- via le connecteur ODBC classique et donc via les fonctions database de purebasic arrives-tu à te connecter ?
- as-tu bien précisé dans le source ton login et ton mot de passe correctement ?
- la base de données MySQL fonctionne-t-elle (en tant que service démarré ou exécutable dans la liste des processus windows) ?
- est-elle vraiment installée ? et si oui, est-elle en localhost ou distante ?
- les droits MySQL (coté serveur) sont ils bien configurés ?
- le port 3306 (en général) est il bien ouvert (cf. pare feu windows) sur le poste serveur et sur le poste client ?
'Can't connect to MySQL server' implique plein de chose à vérifier de ton coté.
- via le connecteur ODBC classique et donc via les fonctions database de purebasic arrives-tu à te connecter ?
- as-tu bien précisé dans le source ton login et ton mot de passe correctement ?
- la base de données MySQL fonctionne-t-elle (en tant que service démarré ou exécutable dans la liste des processus windows) ?
- est-elle vraiment installée ? et si oui, est-elle en localhost ou distante ?
- les droits MySQL (coté serveur) sont ils bien configurés ?
- le port 3306 (en général) est il bien ouvert (cf. pare feu windows) sur le poste serveur et sur le poste client ?
ah ! ? je vais tâcher de faire mieux la prochaine foisFlype a écrit :Là, c'est un peu vague comme erreur.

la MDB_Lib de reelmedia.org fonctionne sans problèmeFlype a écrit :'Can't connect to MySQL server' implique plein de chose à vérifier de ton coté.
- via le connecteur ODBC classique et donc via les fonctions database de purebasic arrives-tu à te connecter ?
ah euh non , mais c'est quoi mon login et mon mot de passe ???Flype a écrit :- as-tu bien précisé dans le source ton login et ton mot de passe correctement ?
gni ! m'sieur l'inspecteur c'est pô moi, jl'i jure...Flype a écrit :- la base de données MySQL fonctionne-t-elle (en tant que service démarré ou exécutable dans la liste des processus windows) ?
- est-elle vraiment installée ? et si oui, est-elle en localhost ou distante ?
- les droits MySQL (coté serveur) sont ils bien configurés ?
là c'est un truc a ma portée je regarde... zut je me souviens plus du login et du pass de la livebox, faut que je fouille....Flype a écrit :- le port 3306 (en général) est il bien ouvert (cf. pare feu windows) sur le poste serveur et sur le poste client ?
mais ça fait beaucoup de chose à savoir pour un utilisateur béta comme moi, c'est pas un reproche mais je trouve que l'utilisation de l'exemple de realmédia.org est ... plus simple, déja parce qu'il tourne sans bidouille...
je regarderai demain...
dodo
pat
@patrick88
Quelle bidouille ? Tu parles bien de MySQL ?
Si tu veux utiliser une base de données quelqu'elle soit (j'insiste sur le quelqu'elle soit) il faut une machine hote (host ou adresse ip) + un nom d'utilisateur + un mot de passe (genre 'localhost' + 'root' + 'toto' ).
En tout cas, de ce que je comprends, c'est que tu n'as pas compris ce qu'est une base de données type MySQL, PostgreSQL, Oracle.
La MDB_Lib n'est pas une lib pour se connecter à une base de ce genre.
Elle est faite pour se connecter à un fichier .mdb ( les fameux fichiers de MSAccess ) pas à MySQL.
Ma lib est faite pour se connecter à MySQL déjà installé - en principe sur un serveur - ou sur ton poste de développement en local (localhost).
Quelle bidouille ? Tu parles bien de MySQL ?
Si tu veux utiliser une base de données quelqu'elle soit (j'insiste sur le quelqu'elle soit) il faut une machine hote (host ou adresse ip) + un nom d'utilisateur + un mot de passe (genre 'localhost' + 'root' + 'toto' ).
En tout cas, de ce que je comprends, c'est que tu n'as pas compris ce qu'est une base de données type MySQL, PostgreSQL, Oracle.
La MDB_Lib n'est pas une lib pour se connecter à une base de ce genre.
Elle est faite pour se connecter à un fichier .mdb ( les fameux fichiers de MSAccess ) pas à MySQL.
Ma lib est faite pour se connecter à MySQL déjà installé - en principe sur un serveur - ou sur ton poste de développement en local (localhost).
Hello à tous, je relance un peu le post car je suis entrain de developper un petit programme pour un ami, et j'ai décidé de prendre la lib SQLite3 comme SGBD (via la lib PBOSL). En attendant que celle-ci soit plus étoffée grâce à Flype (merci à lui et les autres pour toutes leurs contributions), j'ai trouvé ce gestionnaire de bases de données SQLite fort interessant : http://sqliteadmin.orbmu2k.de/Flype a écrit :Juste pour dire que je suis sur le subsystem SQLite en ce moment (quand j'ai le temps de bosser dessus).
KarlKox m'a donné un coup de main - et je l'en remercie beaucoup.
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Pour infos, je m'attaque au wrapper / subsystem SQLite !Flype a écrit :4/ Roadmap :
- Boucler le SubSystem MySQL - beta disponible.
- Continuer le SubSystem PostgreSQL - developpement en cours.
- Enchainer sur le SubSystem FireBird - j'ai déjà un wrapper fonctionnel.
- Obtenir un wrapper existant pour SQLite, qui sera le prochain SubSystem sur la liste.
- Explorateur de bases de données
- Trouver la solution aux multiples BD de type différents (>>Ici<<)
Dernière modification par Progi1984 le mar. 09/janv./2007 9:50, modifié 2 fois.
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
SQLite lib
MAJ le 10/01/07
MAJ le 11/01/07
Code : Tout sélectionner
ExamineDatabaseDrivers() ; implémenté
NextDatabaseDriver() ; implémenté
DatabaseDriverName() ; implémenté
DatabaseDriverDescription() ; implémenté
InitDatabase() ; implémenté
DatabaseError() ; implémenté
IsDatabase(a) ; implémenté
CloseDatabase(a) ; implémenté
OpenDatabaseRequester(a) ; non implémenté
OpenDatabase(a, b) ; implémenté - nouvel argument
DatabaseRows(a) ;implémenté
DatabaseColumns(a) ;implémenté
DatabaseColumnName(a, b) ; implémenté
DatabaseColumnType(a, b) ; implémenté
DatabaseQuery(a, b) ; implémenté
DatabaseUpdate(a, b) ; implémenté
PreviousDatabaseRow(a) ; implémenté
FirstDatabaseRow(a) ; implémenté
NextDatabaseRow(a) ; implémenté
GetDatabaseLong(a, b) ; à faire
GetDatabaseQuad(a, b) ; à faire
GetDatabaseFloat(a, b) ; à faire
GetDatabaseDouble(a, b) ; à faire
GetDatabaseString(a, b) ; à faire
MAJ le 11/01/07
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
@Flype : voilà pour SQlite, les différents types de données sont entier (long), text(chaine), null, float et blob...
Comment as tu fait ou pourrais je faire pour GetDatabaseQuad(a, b) par exemple ?
- Cela ne renvoie rien
- Cela renvoie le meme contenu que getdatabaselong mais dans un quad
- Autrement
Et pour le blob, dois je créer un getdatabaseblob ?
Merci de ton aide !
Comment as tu fait ou pourrais je faire pour GetDatabaseQuad(a, b) par exemple ?
- Cela ne renvoie rien
- Cela renvoie le meme contenu que getdatabaselong mais dans un quad
- Autrement
Et pour le blob, dois je créer un getdatabaseblob ?
Merci de ton aide !
je ne sais pas trop pour le moment - je suis complètement sur autre chose...
par contre attention aux BLOBs, ils ne peuvent pas etre stocké dans une chaine (string) puisque le caractere 0 peut bien sûr être dedans. Il faut donc un bloc mémoire (et laisser l'utilisateur libérer lui meme la mémoire). donc oui il fonction particulière pour ce type.
Je ne sais pas si tu as vu mais pour le connaitre le type d'un champs on peut aussi écrire la requete 'SELECT typeof('abc'+123)' qui renverra 'numeric' par ex.
sinon, qu'est le type CLOB ???
voir ici : http://www.sqlite.org/datatypes.html
par ailleurs, je ne sais pas si les quad sont supportés en fait (surement que si!).
par contre attention aux BLOBs, ils ne peuvent pas etre stocké dans une chaine (string) puisque le caractere 0 peut bien sûr être dedans. Il faut donc un bloc mémoire (et laisser l'utilisateur libérer lui meme la mémoire). donc oui il fonction particulière pour ce type.
Je ne sais pas si tu as vu mais pour le connaitre le type d'un champs on peut aussi écrire la requete 'SELECT typeof('abc'+123)' qui renverra 'numeric' par ex.
sinon, qu'est le type CLOB ???
voir ici : http://www.sqlite.org/datatypes.html
par ailleurs, je ne sais pas si les quad sont supportés en fait (surement que si!).
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
OK !Flype a écrit :je ne sais pas trop pour le moment - je suis complètement sur autre chose...
Ok pour la fonction, j'y pensais ! Non, perso, une fonction de sqlite3 permet de récupérer son type ... sqlite3_column_typeFlype a écrit :par contre attention aux BLOBs, ils ne peuvent pas etre stocké dans une chaine (string) puisque le caractere 0 peut bien sûr être dedans. Il faut donc un bloc mémoire (et laisser l'utilisateur libérer lui meme la mémoire). donc oui il fonction particulière pour ce type.
Je ne sais pas si tu as vu mais pour le connaitre le type d'un champs on peut aussi écrire la requete 'SELECT typeof('abc'+123)' qui renverra 'numeric' par ex.
Je ne connais pas du tt.
Non, ils ne le sont pas !Flype a écrit :par ailleurs, je ne sais pas si les quad sont supportés en fait (surement que si!).