Pb magic Mysql
sebastien4-Jun-2012/20:06:57+2:00
Bonjour,
Je suis actuellement en train de créer un site web sous apache et pour une partie de ce site j'ai décidé d'utiliser le bon vieux Rebol accompagne de magic pour effectuer une recherche dans mes bases de données
J'utilise
REBOL/Core 2.7.8.3.1
easyphp 5.3.9
Magic 3.5
L'installation de Magic est OK et l'appel de fonction Rebol dans la page web fonctionne correctement
Malheureusement dès que je désire me connecter à mysql cela ne fonctionne pas
J'ai testé sur Rebol seul même problème alors que si je passe par ODBC cela fonctionne
Voici mon code
   <rebol>
dbase: open mysql://utilisateur:passe@127.0.0.1/mabase
requete: first dbase
insert requete join "select * from docuement"
resultat: copy requete
close requete
close dbase
prin "<rebol border=1>"
foreach ligne resultat [
prin "<tr>"
foreach champ ligne [
prin [ "<td>" champ "</td>" ]
]
print "</tr>"
]
prin "</table>"
</rebol>

j'obtient l'erreur suivante
make object! [
code: 505
type: 'access
id: 'invalid-spec
arg1: mysql://utilisateur:passe@127.0.0.1/mabase
arg2: none
arg3: none
near: [dbase: mysql://utilisateur:passe@127.0.0.1/mabase
requete: first
]
where: 'm-execute
]
Pouvez m'aider?

Sinon avez vous une autre solution que MAGIC
DideC5-Jun-2012/18:27:05+2:00
J'imagine que tu as remplacé dans le code les valeurs réelles de "utilisateur " et "passe".

N'y aurait-il pas des caractères qui risquent de rendre le parsing de l'URL difficile ?

Ex: si "passe" est en réalité "MoT2P@ss3", l'URL devient "mysql://utilisateur:MoT2P@ss3@127.0.0.1/mabase" !!
Hors le parseur se base sur le caractère "@" pour séparer la partie connexion (utilisateur/mot de passe) de la partie adresse (serveur et bdd).

Bref, c'est un problème mainte fois traiter sur le forum : il faut décrire la connexion par un block plutôt que par une URL.
open [scheme: 'mysql host: "127.0.0.1" path: "mabase" user: "utilisateur" pass: "MoT2P@ss3"]
sebastien6-Jun-2012/19:09:19+2:00
Bonsoir,
Merci pour ta réponse
J'ai résolue une partie du problème cela venais du fait que je pensais que MySQL était natif pour rebol, malheureusement cela n’est pas le cas, il fallait que j’installe mysql-protocol.

Maintenant que c’est fait j’ai un autre problème qui provient du fait que mon mysql est trop récent et que magic utilise encore l’ancien protocole d'authentification.

Ne pouvant pas utiliser l’ancien protocole (le nouveau m’étant imposé ), avez-vous une autre solution.

Merci encore pour vos réponse
olivier6-Jun-2012/23:13:04+2:00
Bonsoir Sébastien,

Est ce un problème avec le chiffrement du mot de passe ? Dans ce cas, tu peux utiliser la fonction OLD_PASSWORD de MySQL.

http://dev.mysql.com/doc/refman//5.5/en/old-client.html

Olivier
DideC7-Jun-2012/16:22:41+2:00
Quel est le rapport entre Magic et mySql ?
C'est le protocole mysql de nenad qui gère l'authentification avec le serveur de BDD, non ?

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2