Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2006, 17h34   #1
Membre à l'essai
 
Inscription : février 2006
Messages : 145
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 145
Points : 24
Points : 24
Par défaut Se connecter à une interbase distante depuis PHP

Bonjour,

Je voudrais me connecter depuis un serveur (A) à un autre serveur (B) qui héberge une interbase sous Firebird 1.5.

Sur mon serveur A est installé wamp, la dernière version. J'ai activé l'extension php_interbase.dll et j'ai copié dans le system32 du serveur A:
- gds32.dll (je suis allé chercher fbclient.dll sur le serveur B et je l'ai renommé)
- php_interbase.dll (depuis le répertoire wamp\php\ext\ du serveur A)
- libeay32.dll et ssleay32.dll (depuis le répertoire wamp\php\ du serveur A)

Voici ensuite ce que je fais dans l'ordre pour me connecter:

1/
Depuis mon poste client (C), je me connecter d'abord à mon serveur A à l'aide d'une page PHP. - Jusque là tout fonctionne

2/ Arrivé sur mon serveur A, je clique sur un lien qui est censé me connecter à l'interbase sur le serveur B. - Bien sûr, ça ne marche plus.

Voici le code qui me sert à me connecter à l'interbase:



Code:
<?php//J'ai modifié ces paramètres que je ne peux pas diffuser sur le net
$hote = '00.00.00.00:X:\\TOTO\MABASE\MABASE.gdb' ;

//J'ai modifié ce paramètres que je ne peux pas diffuser sur le net
$user = '*****' ;
$pass = '*****' ;

$connexion = ibase_connect($hote,$user,$pass) or die('Connexion impossible à la base : ' . ibase_errmsg());?>
A chaque fois que je lance la connexion, ça m'affiche Connexion impossible à la base et les erreurs suivantes:

Citation:
Unable to complete network request to host "00.00.00.00".
Failed to locate host machine. Undefined service gds_db/tcp.
Les serveurs A et B sont sur un domaine d'entreprise et je les ping sans pb depuis n'importe quel poste de l'entreprise.

Quelqu'un pourrait-il m'aider?

Merci d'avance!
PedroBD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 18h29   #2
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
il faut faire les test d'usage depuis A vers B
ping de B depuis A
vérifier que Firebird est bien lancé sur B
telnet sur le port 3050 de B depuis A
pour voir si tout le réseau fonctionne et que le port 3050 n'est pas bloqué quelque part
éventuellement rajouter dans etc\services la ligne
gds_db 3050/tcp
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 09h15   #3
Membre à l'essai
 
Inscription : février 2006
Messages : 145
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 145
Points : 24
Points : 24
Citation:
Envoyé par makowski
il faut faire les test d'usage depuis A vers B
ping de B depuis A
vérifier que Firebird est bien lancé sur B
telnet sur le port 3050 de B depuis A
pour voir si tout le réseau fonctionne et que le port 3050 n'est pas bloqué quelque part
éventuellement rajouter dans etc\services la ligne
gds_db 3050/tcp
Ok, merci de ta réponse. J'ai fait quelques tests et j'aurais encore quelques questions:

- Ping B -> A: Ca fonctionne sans pb
- Firebird sur le poste client: J'ai installé sur B la version client de Firebird, puisque le serveur Firebird est sur A. Ca doit suffir, non? Par contre du coup je sais pas comment vérifier qu'il est bien lancé!
- telnet sur le port 3050 B->A: c'est bien la commande
Code :
telnet 00.00.00.00:3050
? Ca marche pas! Du coup j'ai rajouté gds_db 3050/tcp dans les etc\services des 2 machines. Je suppose que je dois les rebooter maintenant?

Voilà, si tu peux m'aider encore un peu...
PedroBD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2006, 10h35   #4
Membre à l'essai
 
Inscription : février 2006
Messages : 145
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 145
Points : 24
Points : 24
Citation:
Envoyé par makowski
il faut faire les test d'usage depuis A vers B
ping de B depuis A
vérifier que Firebird est bien lancé sur B
telnet sur le port 3050 de B depuis A
pour voir si tout le réseau fonctionne et que le port 3050 n'est pas bloqué quelque part
éventuellement rajouter dans etc\services la ligne
gds_db 3050/tcp
Bon ben je te remercie, j'ai ajouté gds_db dans services et ça marche maintenant!
PedroBD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 12h01   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 4
Points : 4
Bonjour,

Je suis confornté au problème cité dans ce post, j'ai tenté de rajouter la ligne gds_db 3050/tcp dans le fichier service de systeme32/drivers/etc, mais cela ne fonctionne toujours pas.

Je suis un novice, est ce que j'ai oublié une étape ?

Ma config est la suivante (j'utilise firebird en localhost) :

1/ j'ai installé firebird 1.5 en tant que serveur sous window xp
2/ j'utilise ibexpert comme interface
3/ j'ai installé wamp dernière version
4/ j'ai activé les extensions php_interbase.dll ,php_pdo.dll et php_pdo_firebird.dll.
5/ j'ai bien la bibliothèque GDS32.DLL dans le systeme32
6/j'ai rajouté la ligne gds_db 3050/tcp dans le fichier service de systeme32/drivers/etc

rm : étant en localhost, faut il que je copie les 3 bliothèques suivantes dans système32 ?
- php_interbase.dll
-libeay32.dll et ssleay32.dll

J'ai tenté de me connecter en php avec la syntaxe suivante :

mon code "connexion.php" est :
Code :
1
2
3
4
5
6
7
 
<?php
$path='localhost:C:\\data\SUIVITEMPS_24102006.FDB';
		$user='SYSDBA';
		$pass='masterkey';
		$connexion = ibase_connect($path,$user,$pass) OR die('Connexion impossible à la base : ' . ibase_errmsg());
?>
le message d'erreur suivant m'est retourné :
Citation:
Connexion impossible à la base : Unable to complete network request to host "localhost". Failed to locate host machine. Undefined service gds_db/tcp.

Par contre j’arrive à me connecter en passant par la ISQL.exe avec la syntaxe suivante :

Citation:
connect localhost :c:\data\SUIVITEMPS_24102006.FDB user sysdba password masterkey ;
rom411 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 21h04   #6
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
si isql passe, alors c'est un pb PHP, vérifie ta syntaxe et si les modules sont bien chargé (avec phpinfo)
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 09h31   #7
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 4
Points : 4
Voici un extrait de mon phpInfo(), se peut il que le problème vienne de là. En fait, j'ai installé firebird 1.5 alors que le phpInfo() mentionne firebird 1.0.
interbase
Firebird/InterBase Support dynamic
Compile-time Client Library Version Interbase 6
Run-time Client Library Version Firebird 1.0/Interbase 6

Sinon la syntaxe te parait bonne ?

mon objectif à terme est de me connecter à firebird via le PDO, quelqu'un sait si cela marche bien, j'ai testé avec Mysql et Postgresql mais je n'y arrive pas avec firebird ?
rom411 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 15h19   #8
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
va voir sur la liste PHP Firebird (firebird-php@yahoogroups.com)
http://tech.groups.yahoo.com/group/firebird-php/
PHP n'est vraiment pas mon truc
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 09h26   #9
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 4
Points : 4
Merci pour l'info, je vais allé voir de ce coté.
rom411 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 10h37   #10
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 4
Points : 4
Dernières nouvelles :

1/ sous Window en localhost, il n'est pas nécessaire de renseigner le nom du serveur dans le path de la base.

Citation:
$path="localhost:C:\data\SUIVITEMPS_24102006.FDB";
devient
$path="C:\data\SUIVITEMPS_24102006.FDB";
2/ avec cette syntaxe cela fonctionne sous easyphp 1.8, par contre cela ne marche toujours pas avec WAMP5 1.6.3 (mon client utilise Wamp), j'ai un nouveau message d'erreur :
Citation:
"Warning: ibase_connect() [function.ibase-connect]: unavailable database"
cette fois il n'arrive pas à lire la base!!!!

du coup, le problème doit venir du php.ini de Wamp, on m'a conseillé de modifier la ligne :
"magic_quotes_sybase = Off" par "magic_quotes_sybase = On", mais cela ne marche toujours pas

y aurait il un autre paramètre du php.ini qu'il faudrait modifier ?
rom411 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h51.


 
 
 
 
Partenaires

Hébergement Web