# real Studio -> requête SQL sur BDD en ligne



## BBFUNK01 (6 Avril 2011)

Hello,

je suis en train d'imaginer une application que je vais créer avec Real Studio, pour des raisons de sécurité j'envisage qu'au lancement de l'application, celle-ci se connecte automatiquement à une base de données MySQL qui se trouve sur mon site internet, et l'idée serait d'envoyer une requête afin d'interroger la BDD afin qu'en fonction de la réponse, l'application soit utilisable... ou pas.
Je suis en train de fouiller la doc pour trouver des pistes, mais si toutefois quelqu'un avait un tuyau ou un lien vers un tutoriel adéquat... Pour le coup je gère habituellement mes BDD avec PHP, mais d'après ce que j'ai vu ici et là, il apparaît délicat de gérer les BDD MySQL avec Real Studio.

Merci,

A plus ,


----------



## BBFUNK01 (6 Avril 2011)

Bon, j'avance petit à petit :
j'ai trouvé dans l'aide ce script qui permet une connection à une BDD distante :


```
Dim db as mySQLCommunityServer
db=New mySQLCommunityServer
db.host="192.168.1.172"
db.port=3306
db.databaseName="MyOwnmySQLdatabase"
db.userName="Mary"
db.Password="Elton"
If db.Connect then
  //proceed with database operations
else
  MsgBox "Connection failed!"
end if
```

J'ai donc remplacé l'adresse, le nom de la base, l'identifiant, et le mot de passe du script par mes données de connection à ma base. Cependant j'obtiens systématiquement "Connection failed".
J'ai bien mon plugin MySQLCommunityPlugin.rbx d'installé dans le dossier "Plugins" de mon application Real Studio, mais cela ne marche pas pour autant.
Avez-vous des suggestions ?

Merci


----------



## Anonyme (6 Avril 2011)

Bonsoir,



BBFUNK01 a dit:


> Cependant j'obtiens systématiquement "Connection failed".



Quel est le vrai message d'erreur ?

```
db.ErrorMessage
```


----------



## tatouille (7 Avril 2011)

BBFUNK01 a dit:


> Bon, j'avance petit à petit :
> j'ai trouvé dans l'aide ce script qui permet une connection à une BDD distante :
> 
> 
> ...



par default un server db refuse de repondre de l'exterieur (cela s'appel des trous de securité plus gros que l'anus de Clara _Morgane_) c'est pour cela que l'on utilise plus des requetes de type RPC le script en soit fait la connexion et retourne sous forme serialisee les reponses xml json...

ton application doit gerer le no network aussi.


----------



## BBFUNK01 (7 Avril 2011)

Hello tatouille,



> c'est pour cela que l'on utilise plus des requetes de type RPC le script en soit fait la connexion et retourne sous forme serialisee les reponses xml json...
> 
> ton application doit gerer le no network aussi.



Alors là je n'ai pas suivi... En gros faut-il que j'envisage une toute autre méthode pour me connecter à ma base ou bien dois-je rajouter un paramètre pour créer le dialogue avec ma base ?



> cela s'appel des trous de securité plus gros que l'anus de Clara Morgane



C'est effectivement emmerdant 

A plus


----------



## Céroce (7 Avril 2011)

Les hébergeurs sérieux configurent leurs serveurs pour que seul le serveur soit autorisé à se connecter à la BdD. De là, deux options:
- prendre un serveur dédié et le configurer toi-même => compliqué et peu sécurisé
- mettre en place un "web-service" pour permettre le dialogue avec l'extérieur. En gros, ton application envoie des requêtes HTTP à ton serveur web, qui lui répond par du contenu XML ou JSON.


----------



## BBFUNK01 (7 Avril 2011)

Hello Ceroce,

merci pour ta réponse. Etant donné que mon hébergeur est un hébergeur sérieux il est donc à priori normal que j'ai un échec à la connexion. Je vais donc me renseigner sur le JSON et le contenu XML avec Real Studio. par ailleurs est-il envisageable de créer un dialogue avec du PHP et Real Studio ? Tel un formulaire e-mail standard en somme ?

A plus ,


----------



## Céroce (7 Avril 2011)

Oui, c'est carrément envisageable.
Je ne peux pas te dire comment le faire avec Real Studio, mais je ne doute pas qu'il puisse envoyer des requêtes HTTP. Ça marche à peu près ainsi:

- Pour envoyer des informations, on envoie une requête HTTP POST ou PUT au serveur web. 
- Pour recevoir des informations, on envoie une requête HTTP GET au serveur.

Les infos sont au format XML ou JSON.

Tu verras qu'il existe des protocoles complexes de web-services (SOAP, WSDL). En gros, ils servent à définir précisément l'organisation des fichiers XML. Souvent, il est inutile de s'embarquer dans ce genre de choses, il suffit de définir toi-même un protocole simple.


----------



## BBFUNK01 (7 Avril 2011)

Merci pour les tuyaux Ceroce, ça me rassure de savoir qu'on peut utiliser PHP avec Real Studio, je vais donc axer mes recherches en ce sens. D'autant plus que le but de la manuvre est simplement d'ordonner à l'application de fonctionner ou non en fonction d'une valeur stockée dans une table, ça ne devrait donc pas être trop coton à faire. Il faut simplement que je trouve la bonne méthode.
Merci pour le lien .

A plus,


----------

