OVH Cloud OVH Cloud

Connecter BDD chez Free

6 réponses
Avatar
bzai
Bonjour,

Je gal=E8re dans la recherche d'une proc=E9dure pour me connecter =E0 Mys=
ql=20
chez free.

Avec php, c'est tout simple, avec VB6, je n'y arrive pas.

J'ai parcouru les news. Rien.
C'est probablement simple.

Merci
Voici la proc=E9dure en php

<body>
<?php
//ici les parametres pour la connexion
$host=3D"sql.free.fr"; $base=3D"argens"; $passe=3D"xxxxx"; $bas=
e=20
=3D"xxxxx";

//on effectue la connexion
@mysql_connect("$host","$base","$passe")or die('Probl=E8me de=20
connection =E0 mysql');;

//Selection de la base de donn=E9es qui porte le meme nom que votre login=

$select_base=3D@mysql_selectdb("$base")or die('Probl=E8me de =

connection =E0 la base');;
?>
</body>


Et celle que je teste en Vb, mais qui ne marche pas!

Public Sub connect(Optional host As String =3D vbNullString, Optional use=
r=20
As String =3D vbNullString, Optional Passwd As String =3D vbNullString)
If Len(host) > 0 Then mHost =3D host
If Len(user) > 0 Then mUser =3D user
If Len(Passwd) > 0 Then mPassword =3D Passwd
myConHandle =3D API_mysql_connect(myRec, StrPtr(StrConv(mHost,=20
vbFromUnicode)), StrPtr(StrConv(mUser, vbFromUnicode)),=20
StrPtr(StrConv(mPassword, vbFromUnicode)))
If myConHandle Then
CopyMemory myRec, ByVal myConHandle, LenB(myRec) 'again we have=20
to mooo-ve the memory
Else
Err.Raise API_mysql_errno(myRec), "cMysql::connect",=20
ptr2str(API_mysql_error(myRec))
End If
End Sub

Private Sub cmdCon_Click()
On Error GoTo errhandler
Set mysql =3D New cMysql 'initialize everything
mysql.connect txtHost, txtUser, txtPass
EnableControls
Exit Sub
errhandler:
MsgBox Err.Description
End Sub

6 réponses

Avatar
Jean-Marc
"bzai" a écrit dans le message de
news:%
Bonjour,
Je galère dans la recherche d'une procédure pour me connecter à Mysql
chez free.
Avec php, c'est tout simple, avec VB6, je n'y arrive pas.
J'ai parcouru les news. Rien.



Hello,

ce que tu souhaites faire est tout simplement techniquement impossible.
Free limite les accès aux bases de données MySQL en filtrant sur l'IP.
En gros, il n'accepte une demande de connection que sur 'localhost' et
rejette les demandes de connection ainsi que les requête venant d'une
IP externe. Tu peux faire une connection depuis une page web hébergée
chez eux, avec PHP, mais tu ne peux pas faire une vraie connection
distante. C'est une limitation volontaire de l'abonnement Free (assez
compréhensible il faut dire).

Si c'était possible, ça voudrait dire qu'ils offriraient gratuitement
une service de serveur de bases de données, utilisable depuis n'importe
quelle IP externe et ce sans passer par une connection chez eux (pas de
publicité, etc). On voit mal quelle entreprise commerciale offrirait
gratuitement un tel service (consommation CPU, gestion du serveur de
BDD, bande passante, etc.).

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
bzai
Jean-Marc a écrit :
"bzai" a écrit dans le message de
news:%

Bonjour,
Je galère dans la recherche d'une procédure pour me connecter à M ysql
chez free.
Avec php, c'est tout simple, avec VB6, je n'y arrive pas.
J'ai parcouru les news. Rien.




Hello,

ce que tu souhaites faire est tout simplement techniquement impossible .
Free limite les accès aux bases de données MySQL en filtrant sur l'IP.
En gros, il n'accepte une demande de connection que sur 'localhost' e t
rejette les demandes de connection ainsi que les requête venant d' une
IP externe. Tu peux faire une connection depuis une page web héber gée
chez eux, avec PHP, mais tu ne peux pas faire une vraie connectio n
distante. C'est une limitation volontaire de l'abonnement Free (asse z
compréhensible il faut dire).

Si c'était possible, ça voudrait dire qu'ils offriraient gratuit ement
une service de serveur de bases de données, utilisable depuis n'impo rte
quelle IP externe et ce sans passer par une connection chez eux (pas d e
publicité, etc). On voit mal quelle entreprise commerciale offrir ait
gratuitement un tel service (consommation CPU, gestion du serveur d e
BDD, bande passante, etc.).



Merci,

voici une vraie réponse, documentée, détaillée et précise.

Cette contrainte étant posée, me reste t il une autre solution, un au tre
hébergeur, gratuit si possible

D'avance merci
LB
Avatar
ng
Salut,

Le serveur MySQL de free ne permet que des connexions provenants du serveur
HTTP (donc interdit depuis ta machine).

Tu peux par exemple te connecter à ta base via un code PHP qui renvoie le
résultat de ta requete (cf URLDownloadToFile()).

Ce n'est ni une solution très propre ni une solution très rapide (je parle
d'expérience, j'ai eu l'occasion de faire ca plusieurs fois). Mais c'est la
seule solution (sinon faut changer d'hébergeur qui ne sera certainement pas
gratuit :) ).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

bzai wrote:
Bonjour,

Je galère dans la recherche d'une procédure pour me connecter à Mysql
chez free.

Avec php, c'est tout simple, avec VB6, je n'y arrive pas.

J'ai parcouru les news. Rien.
C'est probablement simple.

Merci
Voici la procédure en php

<body>
<?php
//ici les parametres pour la connexion
$host="sql.free.fr"; $base="argens"; $passe="xxxxx"; $base
="xxxxx";

//on effectue la connexion
@mysql_connect("$host","$base","$passe")or die('Problème de
connection à mysql');;

//Selection de la base de données qui porte le meme nom que votre
login $select_base=@mysql_selectdb("$base")or die('Problème de
connection à la base');;



</body>


Et celle que je teste en Vb, mais qui ne marche pas!

Public Sub connect(Optional host As String = vbNullString, Optional
user As String = vbNullString, Optional Passwd As String > vbNullString) If Len(host) > 0 Then mHost = host
If Len(user) > 0 Then mUser = user
If Len(Passwd) > 0 Then mPassword = Passwd
myConHandle = API_mysql_connect(myRec, StrPtr(StrConv(mHost,
vbFromUnicode)), StrPtr(StrConv(mUser, vbFromUnicode)),
StrPtr(StrConv(mPassword, vbFromUnicode)))
If myConHandle Then
CopyMemory myRec, ByVal myConHandle, LenB(myRec) 'again we
have to mooo-ve the memory
Else
Err.Raise API_mysql_errno(myRec), "cMysql::connect",
ptr2str(API_mysql_error(myRec))
End If
End Sub

Private Sub cmdCon_Click()
On Error GoTo errhandler
Set mysql = New cMysql 'initialize everything
mysql.connect txtHost, txtUser, txtPass
EnableControls
Exit Sub
errhandler:
MsgBox Err.Description
End Sub


Avatar
Clive Lumb
"bzai" a écrit dans le message de
news:

Merci,

voici une vraie réponse, documentée, détaillée et précise.

Cette contrainte étant posée, me reste t il une autre solution, un autre
hébergeur, gratuit si possible

D'avance merci
LB



Si tu veux rester chez Free tu pourras passer à leur version "pro" (payant)
où l'accès ODBC est permis à partir d'autres IP que le serveur PHP. (Je
viens de le vérifier avec VB sur la BdD de mon association)

Ce n'est pas trop cher (voir www.online.fr) : pour un nom de domaine en .com
c'est 6?95 puis 9?90 par an.
L'hebergement pour 100 Mo est de 29?90 par an.

Clive
Avatar
ng
Je confirme c'est pas cher du tout !

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Clive Lumb wrote:
"bzai" a écrit dans le message de
news:

Merci,

voici une vraie réponse, documentée, détaillée et précise.

Cette contrainte étant posée, me reste t il une autre solution, un
autre hébergeur, gratuit si possible

D'avance merci
LB



Si tu veux rester chez Free tu pourras passer à leur version "pro"
(payant) où l'accès ODBC est permis à partir d'autres IP que le
serveur PHP. (Je viens de le vérifier avec VB sur la BdD de mon
association)

Ce n'est pas trop cher (voir www.online.fr) : pour un nom de domaine
en .com c'est 6?95 puis 9?90 par an.
L'hebergement pour 100 Mo est de 29?90 par an.

Clive


Avatar
bzai
ng a écrit :
Je confirme c'est pas cher du tout !



merci à tous,
Voici un problème réglé prestement
LB