Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD10] Création de Base MySQL ou Access avec WD

9 réponses
Avatar
Pascal F
Bonjour,
Afin de gérer des dossiers différents je souhaite créer une base pour chacun des dossiers. En HF C/S pas de problème, les bases
sont créées automatiquement lors de la création de la connexion.
Par contre aussi bien pour MySQL que pour ACCESS, je ne sais comment m'y prendre. Je souhaite que ce soit le programme qui génère
la base et non être oblogé de passer par un outils d'administration externe.
Une ch'tite piste me rendrait bien service.
Par avance merci.

--
Pascal
N0.pascal.SPAM@efpe.biz
Ne garder que le prénom pour me joindre

9 réponses

Avatar
ManuPavy
Pascal F a écrit :
Bonjour,



Bonjour,

Afin de gérer des dossiers différents je souhaite créer une base pour
chacun des dossiers. En HF C/S pas de problème, les bases sont créées
automatiquement lors de la création de la connexion.
Par contre aussi bien pour MySQL que pour ACCESS, je ne sais comment m'y
prendre. Je souhaite que ce soit le programme qui génère la base et non
être oblogé de passer par un outils d'administration externe.



Pour access, je ne sais pas, mais pour MySQL il est possible de gérer sa
base avec des requetes SQL (d'ailleur les outils d'administration
externes ne font qu'envoyer ces requetes).
Avec :
SQLConnect(mabase, mon_log, mon_pass)
ma_query est une chaine = "CREATE DATABASE ma_base IF NOT EXISTS"
SQLExec(ma_query, "query_exe")
SQLExec("USE ma_base", "chgt_base")

tu devrais pouvoir t en sortir.

Manu


--
Manu
Avatar
Pascal F
Merci du coup de main.
Après plusieurs essais, j'ai réussi à créer ce que je pensais être la base, à savoir le dossier portant le nom de ma base avec un
fichier dossier.frm.
Mais dans MyDB Studio, ma base n'aparait pas et pas moyen de m'y connecter par un HChangeConnexion. :-?.
Une piste?
Voila mon code:

eCnx est un entier
eCnx=SQLConnecte(txt_Serveur,txt_Login,txt_Mot_Passe,"","MySQL")
SI PAS eCnx ALORS
SQLInfoGene()
Info("Erreur SQL : " + SQL.MesErreur)
FIN
ma_query est une chaîne = "CREATE DATABASE %1"
ma_query=ChaîneConstruit(ma_query,txt_Base)
eCnx=SQLExec(ma_query, "REQ1")

SI PAS eCnx ALORS
SQLInfoGene("REQ1")
Info("Erreur SQL : " + SQL.MesErreur)
SINON
SQLDéconnecte()
Info(ChaîneConstruit("Création de la base de données %1",txt_Base))
FIN
J'ai du supprimer le IF NOT EXISTS car j'avais une erreur sur cette partie de la requete.

Lorsque je veux faire un HCreationSiInexistant après m'être connecté par un hDecritconnexion et hChangeConnexion, j'obtiens
l'erreur suivante.

Erreur de l'accès natif MySQL.
Numéro d'erreur = 22

L'erreur suivante a été renvoyée par la base données <localhost> :
Numéro d'erreur = <1045>.
Message d'erreur :

Access denied for user: '' (Using password: YES)

Merci

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
Pierre BOUSQUET
Après avoir créé ta base il faut s'y connecter donc
SQLDéconnecte()
SQLConnecte(txt_Serveur,txt_Login,txt_Mot_Passe,"MABASE","MySQL")


Après mûre réflexion, Pascal F a écrit :
Merci du coup de main.
Après plusieurs essais, j'ai réussi à créer ce que je pensais être la base, à
savoir le dossier portant le nom de ma base avec un fichier dossier.frm.
Mais dans MyDB Studio, ma base n'aparait pas et pas moyen de m'y connecter
par un HChangeConnexion. :-?.
Une piste?
Voila mon code:

eCnx est un entier
eCnx=SQLConnecte(txt_Serveur,txt_Login,txt_Mot_Passe,"","MySQL")
SI PAS eCnx ALORS
SQLInfoGene()
Info("Erreur SQL : " + SQL.MesErreur)
FIN
ma_query est une chaîne = "CREATE DATABASE %1"
ma_query=ChaîneConstruit(ma_query,txt_Base)
eCnx=SQLExec(ma_query, "REQ1")

SI PAS eCnx ALORS
SQLInfoGene("REQ1")
Info("Erreur SQL : " + SQL.MesErreur)
SINON
SQLDéconnecte()
Info(ChaîneConstruit("Création de la base de données %1",txt_Base))
FIN
J'ai du supprimer le IF NOT EXISTS car j'avais une erreur sur cette partie de
la requete.

Lorsque je veux faire un HCreationSiInexistant après m'être connecté par un
hDecritconnexion et hChangeConnexion, j'obtiens l'erreur suivante.

Erreur de l'accès natif MySQL.
Numéro d'erreur = 22

L'erreur suivante a été renvoyée par la base données <localhost> :
Numéro d'erreur = <1045>.
Message d'erreur :

Access denied for user: '' (Using password: YES)

Merci




--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Avatar
Pierre BOUSQUET
HChangeNom() fonctionne en 10, je l'utilise pour renommer mes tables en
minuscules

Gilles Guédikian a exprimé avec précision :
Pascal F a formulé ce jeudi :
Bonjour,
Afin de gérer des dossiers différents je souhaite créer une base pour
chacun des dossiers. En HF C/S pas de problème, les bases sont créées
automatiquement lors de la création de la connexion.
Par contre aussi bien pour MySQL que pour ACCESS, je ne sais comment m'y
prendre. Je souhaite que ce soit le programme qui génère la base et non
être oblogé de passer par un outils d'administration externe.
Une ch'tite piste me rendrait bien service.
Par avance merci.



Ce que tu peux faire sinon, c'est faire un hChangeNom pour chaque table, et
tout mettre dans la meme base.
Ca te permettra d'avoir une seule base.

Ha évidemment, avec WD10, c'est buggué et référencé... ca marche pas ;-)




--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Avatar
Pascal F
Pierre BOUSQUET a formulé la demande :
Après avoir créé ta base il faut s'y connecter donc
SQLDéconnecte()
SQLConnecte(txt_Serveur,txt_Login,txt_Mot_Passe,"MABASE","MySQL")


Après mûre réflexion, Pascal F a écrit :
Merci du coup de main.
Après plusieurs essais, j'ai réussi à créer ce que je pensais être la base, à savoir le dossier portant le nom de ma base
avec un fichier dossier.frm.
Mais dans MyDB Studio, ma base n'aparait pas et pas moyen de m'y connecter par un HChangeConnexion. :-?.
Une piste?
Voila mon code:

eCnx est un entier
eCnx=SQLConnecte(txt_Serveur,txt_Login,txt_Mot_Passe,"","MySQL")
SI PAS eCnx ALORS
SQLInfoGene()
Info("Erreur SQL : " + SQL.MesErreur)
FIN
ma_query est une chaîne = "CREATE DATABASE %1"
ma_query=ChaîneConstruit(ma_query,txt_Base)
eCnx=SQLExec(ma_query, "REQ1")

SI PAS eCnx ALORS
SQLInfoGene("REQ1")
Info("Erreur SQL : " + SQL.MesErreur)
SINON
SQLDéconnecte()
Info(ChaîneConstruit("Création de la base de données %1",txt_Base))
FIN
J'ai du supprimer le IF NOT EXISTS car j'avais une erreur sur cette partie de la requete.

Lorsque je veux faire un HCreationSiInexistant après m'être connecté par un hDecritconnexion et hChangeConnexion, j'obtiens
l'erreur suivante.

Erreur de l'accès natif MySQL.
Numéro d'erreur = 22

L'erreur suivante a été renvoyée par la base données <localhost> :
Numéro d'erreur = <1045>.
Message d'erreur :

Access denied for user: '' (Using password: YES)

Merci




En fait le code fonctionne très bien.
C'est simplement cette satanée libmysql.dll qui n'était pas la bonne. :-@
Quelqu'un connait-il un moyen de savoir si la version est bien la plus récente? J'ai perdu une partie de la nuit et de la journée
à cause de ça.

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
ManuPavy
Pascal F a écrit :

En fait le code fonctionne très bien.
C'est simplement cette satanée libmysql.dll qui n'était pas la bonne. :-@
Quelqu'un connait-il un moyen de savoir si la version est bien la plus
récente? J'ai perdu une partie de la nuit et de la journée à cause de ça.




Je crois qu'il n'y a que sa taille pour le savoir :
la mienne fait 212ko, et date du 22/01/2001
J'en ai des plus récentes, mais ce doit etre pour mes clients MySQL
(MysqlCC, ...)

--
Manu
Avatar
Pierre BOUSQUET
effectivement je n'utilise pas de requetes parametrees, j'utilise tjs
des requetes sans correction

Gilles Guédikian a couché sur son écran :
Pierre BOUSQUET a émis l'idée suivante :
HChangeNom() fonctionne en 10, je l'utilise pour renommer mes tables en
minuscules



Oui il fonctionne...
Jusqu'à ce que tu tentes d'utiliser une requête avec hExecuteRequete.

Et là il tente d'appeler le nom défini dans l'analyse, et non le nom redéfini
par hChangeNom.

J'ai fait référencer le bug.


Gilles.




--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Avatar
Romain PETIT
Pascal F avait énoncé :
C'est simplement cette satanée libmysql.dll qui n'était pas la bonne. :-@
Quelqu'un connait-il un moyen de savoir si la version est bien la plus
récente? J'ai perdu une partie de la nuit et de la journée à cause de ça.



les fonctions suivantes ne sont pas implémentées ?
mysql_get_client_info() Returns client version information as a
string.
mysql_get_client_version() Returns client version information as an
integer.

Vu sur
http://dev.mysql.com/doc/refman/5.0/en/c-api-function-overview.html
A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Pascal F
Romain PETIT vient de nous annoncer :
Pascal F avait énoncé :
C'est simplement cette satanée libmysql.dll qui n'était pas la bonne. :-@
Quelqu'un connait-il un moyen de savoir si la version est bien la plus récente? J'ai perdu une partie de la nuit et de la
journée à cause de ça.



les fonctions suivantes ne sont pas implémentées ?
mysql_get_client_info() Returns client version information as a string.
mysql_get_client_version() Returns client version information as an integer.

Vu sur http://dev.mysql.com/doc/refman/5.0/en/c-api-function-overview.html
A+



Super; Merci Romain. c'est tout à fait ce qui me fallait. Reste plus qu'à trapper l'erreur si la fonction n'est pas implémentée.
Voici les résultats que j'obtiens:

libmysql du 16/03/2003 de 245760 o -> fonction non implémentée
libmysql du 04/06/2004 de 937984 o -> V 50000
libmysql du 22/10/2005 de 1302528o -> V 50015.

Je n'arrive à faire la création de Database, puis la création de table définies dynamiquement par un Hdecritfichier et
hdecritrubrique suivi d'un hcreationsiinexistant qu'avec la V 50015. Sinon la Database se crée bien, mais j'ai un message lors du
Hcreationsiinexistant me disant que je n'ai pas les droits.

--
Pascal

Ne garder que le prénom pour me joindre