|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
[WD15] Création Database MySQL: qu'est qui cloche???? |
Débuté par jpl06530, 18 jan. 2010 10:49 - 7 réponses |
| |
| | | |
|
| |
Posté le 18 janvier 2010 - 10:49 |
J'ai un serveur MYSQL qui tourne sur ma machine.
J'ai écrit ce code en m'inspirant de la syntaxe habituelle :
cnxMacnn est une Connexion sdreq est une Source de Données sMaChaineSQL est une chaîne
// Paramètres de la connexion cnxMacnn..Utilisateur = "root" cnxMacnn..MotDePasse = "" cnxMacnn..Serveur = "localhost" cnxMacnn..Provider = hAccèsNatifMySQL cnxMacnn..Accès = hOLectureEcriture
// Ouverture de la connexion et comptage des enregistrements monresultat est un entier = HOuvreConnexion(cnxMacnn) Info(monresultat) DEJA LA LA CONNECTION NE S'OUVRE PAS ????
sMaChaineSQL = "CREATE DATABASE mabddmysql" si HExécuteRequêteSQL(sdreq,"cnxMacnn",hRequêteSansCorrection,sMaChaineSQL)alors INFO("Table crée avec succès") FIN HFermeConnexion(cnxMacnn)
Cette syntaxe ne fonctionne pas. J'ai recherché dans l'aide mais je n'ai rien trouvé qui pourrait m'aider. Est-ce que quelqu'un aurait une idée
Merci à tous |
| |
| |
| | | |
|
| | |
| |
Posté le 18 janvier 2010 - 12:44 |
A ma connaissance Windev se connecte à une base de données existance...
Donc, je pense qu'il n'est pas possible de lancer un create database !!!
tu dois le faire avec un logiciel comme navicat ou mysql admin.
ciao
jpl06530 avait soumis l'idée :
J'ai un serveur MYSQL qui tourne sur ma machine.
J'ai écrit ce code en m'inspirant de la syntaxe habituelle :
cnxMacnn est une Connexion sdreq est une Source de Données sMaChaineSQL est une chaîne
// Paramètres de la connexion cnxMacnn..Utilisateur = "root" cnxMacnn..MotDePasse = "" cnxMacnn..Serveur = "localhost" cnxMacnn..Provider = hAccèsNatifMySQL cnxMacnn..Accès = hOLectureEcriture
// Ouverture de la connexion et comptage des enregistrements monresultat est un entier = HOuvreConnexion(cnxMacnn) Info(monresultat) DEJA LA LA CONNECTION NE S'OUVRE PAS ????
sMaChaineSQL = "CREATE DATABASE mabddmysql" si HExécuteRequêteSQL(sdreq,"cnxMacnn",hRequêteSansCorrection,sMaChaineSQL)alors INFO("Table crée avec succès") FIN HFermeConnexion(cnxMacnn)
Cette syntaxe ne fonctionne pas. J'ai recherché dans l'aide mais je n'ai rien trouvé qui pourrait m'aider. Est-ce que quelqu'un aurait une idée
Merci à tous |
| |
| |
| | | |
|
| | |
| |
Posté le 18 janvier 2010 - 13:02 |
Bonjour,
normalement la connexion root sans base permet de creer des bases par contre il faudrait se connecter de façon a ce que la base ne soit pas obligatoire peut SQLconnecte au lieu de houvreConnexion qui doit demander une base
une fois la connection en root sans base on peut creer des bases (sans oublier ensuite de faire un use pour utiliser une base)
reste donc a savoir si on peut se connecter sans base sur un des ordres disponibles dans windev |
| |
| |
| | | |
|
| | |
| |
Posté le 05 avril 2010 - 02:04 |
nId est un entier = SQLConnecte(GcoData..Serveur,GcoData..Utilisateur,gsGcoDataPassword,"","MySQL",hAccèsNatifMySQL) SI nId <> 0 ALORS sNomDatabase est une chaîne = GcoData..BaseDeDonnées
sSql est une chaîne = "CREATE DATABASE IF NOT EXISTS %1" sSql = ChaîneConstruit(sSql,sNomDatabase)
SI PAS SQLExec(sSql,"REQ") ALORS SQLInfoGene() Erreur("La Database n'a pas pu être créée. Code erreur : " + SQL.Erreur +RC+... SQL.MesErreur) FIN SINON
SQLInfoGene() Erreur("La connexion à la source de données" + "localhost" + ... "a échoué."+RC+... "Code erreur : " + SQL.Erreur +RC+... SQL.MesErreur) Erreur("Veuillez vérifier les paramètres de connexion aux bases de données de la Caisse ") Ouvre(fen_parametresLocalFiche) RENVOYER Faux FIN
SQLDéconnecte()
|
| |
| |
| | | |
|
| | |
| |
Posté le 06 avril 2010 - 14:00 |
Si la connexion ne s'ouvre pas c'est peut être un problème de version de la librairie libmysql utilisée...
Olivier |
| |
| |
| | | |
|
| | |
| |
Posté le 06 avril 2010 - 20:16 |
Attention. La DLL LibMySql.dll doit IMPERATIVEMENT etre présente dans le repertoire de l'exe (Meme en mode Test) (c:\mes_projets\mon_projet\exe) |
| |
| |
| | | |
|
| | |
| |
Posté le 20 avril 2010 - 12:39 |
FOSTUR SEBASTIEN a écrit dans le message de news <e6216ba3a1cc649626d458b42f63cdef@news.pcsoft> :
nId est un entier = SQLConnecte(GcoData..Serveur,GcoData..Utilisateur,gsGcoDataPassword,"","MySQL",hAccèsNatifMySQL) SI nId <> 0 ALORS sNomDatabase est une chaîne = GcoData..BaseDeDonnées
sSql est une chaîne = "CREATE DATABASE IF NOT EXISTS %1" sSql = ChaîneConstruit(sSql,sNomDatabase)
SI PAS SQLExec(sSql,"REQ") ALORS SQLInfoGene() Erreur("La Database n'a pas pu être créée. Code erreur : " + SQL.Erreur +RC+... SQL.MesErreur) FIN SINON
SQLInfoGene() Erreur("La connexion à la source de données" + "localhost" + ... "a échoué."+RC+... "Code erreur : " + SQL.Erreur +RC+... SQL.MesErreur) Erreur("Veuillez vérifier les paramètres de connexion aux bases de données de la Caisse ") Ouvre(fen_parametresLocalFiche) RENVOYER Faux FIN
SQLDéconnecte()
J'ai essayé ça et je me connecte bien, mais je reçois un message d'erreur du serveur qui me dit que la syntaxe n'est pas la bonne, pourtant c'est celle préconisée par http://dev.mysql.com/doc/refman/5.0/fr/create-database.html...
Quelqu'un aurait la bonne syntaxe? |
| |
| |
| | | |
|
| | |
| |
Posté le 23 avril 2010 - 16:06 |
Pour notre part, nous utilisons HOuvreConnexion sur la base "mySQL" qui existe toujours je pense. Sinon il y a aussi "information_schema" voici la syntaxe :
cnxMySql..Provider = hAccèsNatifMySQL cnxMySql..Utilisateur = sUsager cnxMySql..MotDePasse = sMotDePasse cnxMySql..Serveur = sServeur cnxMySql..InfosEtendues = (sPort<>"") ? "Server port="+sPort SINON "" cnxMySql..BaseDeDonnées = "mySQL" cnxMySql..Accès = hOLectureEcriture
cnxMySql..InfosEtendues+= [" ; "]+"WD Unicode Support = " + sUnicode cnxMySql..InfosEtendues+= [" ; "]+"WD Cache Size = 10000"
RENVOYER HOuvreConnexion(cnxMySql)
puis liste des bases :
SI PAS WL.HExécuteRequêteSQL(VueDB,cnxMySql,hRequêteSansCorrection,"SHOW DATABASES") ALORS Erreur(HErreurInfo()) RENVOYER Faux FIN
et création de base :
sReq est une chaîne = ChaîneConstruit([ CREATE DATABASE %1 ],sNomBDD) SI PAS HExécuteRequêteSQL("TMP",cnxMySql,hRequêteSansCorrection,sReq) ALORS Erreur(HErreurInfo()) RENVOYER Faux FIN
Si l'ouverture ne fonctionne pas, voir libMySQl.dll qui doit etre a côté de l'exe ou dans un répertoire du path. Voir aussi les droits utilisateurs ds mySQL.
Bon courage ! |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|