KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Dimanche 18 mai 2008 - 01:35:59

[IIS+PHP] Connexion BDD distante(Access)

Rechercher : dans
[IIS+PHP] Connexion BDD distante(Access)
par Yoplay
 Fil de Discussions
Statut : Résolu
vendredi 5 janvier 2007 à 17:43:18
Bonjour,

J'ai tout d'abord hésité à poster dans le forum programmation ou réseau... mais tout porte à croire que le problème qui suit n'est pas une erreur de programmation.

Voici mon problème :
Je suis stagiaire, et je developpe une application Web en PHP (hébergée sur un Windows Server 2003, avec PHP installé sous IIS) qui fait appelle à deux bases de données. La base n°1 (Access) se situe sur le même poste, en local donc. Aucun problème pour m'y connecter à partir de mes pages PHP. La base n°2 par contre(Access également) est hébergée sur un autre poste, et il est impossible à mes scripts PHP de s'y connecter. Voici le message d'erreur rencontré :

Warning: odbc_connect(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] '(Inconnu)' n'est pas un chemin d'accès valide. Assurez-vous que le nom du chemin d'accès est correct et qu'une connexion est établie avec le serveur sur lequel réside le fichier., SQL state S1009 in SQLConnect in C:\chemin_d'acces_a mon scripts de connexion base n°2... on line 6
Impossible de se connecter


Les deux serveurs (le Windows Server 2003 hebergeant l'application + la base n°1 et l'autre hebergeant la base n°2) appartiennent au même domaine intranet. Les sources ODBC ont également bien été créées sur le Windows Server 2003 (j'ai pu aller chercher la base n°2 sur le reseau en creant l'ODBC pour celle-ci)

Voici mon script de connexion à la base n°2 :
<?php

$bdd="GestionCommerciale"; // identifiant dsn
$user="root"; // login    
$mdp=""; // password   
$cnx = odbc_connect( $bdd , $user, $mdp) or die ('Impossible de se connecter');

?>


Je précise quand même que je ne peux pas faire autrement dans la configuration, la base n°2 est déjà existente et utilisée par une autre application de gestion (qui se trouve sur le même poste que la base).

J'ai tenté de copier la base n°2 sur le Windows Server 2003, juste pour voir si je pouvais m'y connecter (apres avoir changé le chemin d'acces dans la source OBDC bien sûr), résultat : ça fonctionne.

Alors voilà, comment puis-je me connecter à cette base n°2 distante ? Est-ce un problème de compte utilisateur ? Je ne m'y connais pas énormement en réseau, mais n'hésitez pas à être compliqué dans vos explications :p (Mon maitre de stage saura surement décripter).
Toute aide est la bienvenue, merci !
Répondre à Yoplay  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Yoplay, le mercredi 10 janvier 2007 à 16:47:37 Fil de Discussions
Je remonte le topic.

Aucune idée concernant mon problème ? :)
Répondre à Yoplay

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Yoplay, le mercredi 17 janvier 2007 à 17:44:59 Fil de Discussions
Une semaine est passée et je n'ai encore trouvé aucune solution à mon problème.

Re-Up désespéré ~~
Répondre à Yoplay

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Yoplay, le lundi 29 janvier 2007 à 10:58:51 Fil de Discussions
Problème résolu !

J'ai lu plusieurs problèmes similaires sur divers forums qui étaient sans réponse... peut-être que ça en aidera plus d'un.

J'explique comment j'y suis enfin parvenu :

Au lieu d'utiliser une source de données ODBC de Windows, j'ai créé une chaîne de connexion dans mon script PHP directement.

$chaine_connexion ="
DRIVER=Microsoft Access Driver (*.mdb);
DBQ=//xxx.xxx.xx.xx/dossier_partagé/bdd_access.mdb;
UserCommitSync=Yes;
Threads=3;
SafeTransactions=0;
PageTimeout=5;
MaxScanRows=8;
MaxBufferSize=2048;
DriverId=281;
DefaultDir=C:/ProgramFiles/CommonFiles/ODBC/DataSources";


Partout sur internet j'ai pu voir le chemin d'accès écrit comme ceci :
"\\xxx.xxx.xx.xx\dossier_partagé\bdd_access.mdb;"
avec des \ !
J'ai remplacé les \ par des / (comme l'exemple au dessus), et ça fonctionne.

Voilà !
Répondre à Yoplay

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par GuiGui, le lundi 2 juillet 2007 à 09:13:05 Fil de Discussions
Salut Yoplay,

J'ai pas mal travaillé le problème mais là je dois avouer que je suis en bout de course!!!
J'ai quelques notions en php et j'essai aussi de me connecter à partir d'un windows 2000 sur mon serveur 2003 pour faire quelques requêtes à ma BDD Access.
J'ai exactement le même problème que toi, (même message d'erreur),
j'ai donc repris ta soluce :-)
Mais comme je suis pas trop doué et certainement maladroit, je n'arrive pas à éxécuter mes requêtes!!!

Ci-joint le programme qui ne fonctionne pas mais qui marchait en local avec les parametres standards
( $cnx = odbc_connect("nom base de donné configuré dans les systèmes de donnée ODBC", "root", "")

<html>
<head>
<title>Consultation de données en PHP :: partie 1</title>
</head>
<body>

<?php
//connection à la BDD Access:
$cnx = "
DRIVER=Microsoft Access Driver (*.mbd);
DBQ=//10.10.100.1/Dossier partagé de mon serveur/Gestion.mbd;
UserCommitSync=Yes;
Threads=3;
SafeTransactions=0;
PageTimeout=5;
MaxScanRows=8;
MaxBufferSize=2048;
DriverId=281;
DefaultDir=C:/Program Files/Common Files/ODBC/DataSources";

//requête SQL:
$sql = "SELECT * FROM STAGIAIRE" ;

//exécution de la requête:
$requete = odbc_do($cnx, $sql) ;

//affichage des données:
while( $result = odbc_fetch_object( $requete ) )
{
echo("<div align=\"center\">".$result->NOMPRENOMSTAGIAIRE." ".$result->DATENAISSSTAGIAIRE." <br>\n") ;
}
?>
</body>
</html>

Please Help me!!!!!
Merci pour ta réponse je compte sur toi!!

GuiGui
Répondre à GuiGui

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par GuiGui, le mercredi 25 juillet 2007 à 11:39:11 Fil de Discussions
C encore GuiGui,

Juste pour dire que mon problème était un problème de droit mal attribué pour apache

Il m'a suffit d'aller dans services double cliquer sur apache puis onglet connexion et cocher la puce ce compte en prenant un compte du réseau ayant un controle total du dossier. RWXD

A+

GuiGui
Répondre à GuiGui

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par sat, le mercredi 13 février 2008 à 15:35:12 Fil de Discussions
Slut les grands. Stp est-ce que tu peux me dire comment tu fais (la fonction de connexion que tu utilise pour te connecter à ta bd) avec ta chaîne de connexion

($chaine_connexion ="
DRIVER=Microsoft Access Driver (*.mdb);
DBQ=//xxx.xxx.xx.xx/dossier_partagé/bdd_access.mdb;
UserCommitSync=Yes;
Threads=3;
SafeTransactions=0;
PageTimeout=5;
MaxScanRows=8;
MaxBufferSize=2048;
DriverId=281;
DefaultDir=C:/ProgramFiles/CommonFiles/ODBC/DataSources";)
?

Dans ton code GuiGui tu places directement ta chaîne dans la fonction odbc_do qui prend comme premier paramètre l'id de la connexion et non la chaîne.
Merci d'avance pour votre aide.
Répondre à sat

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par sat, le mercredi 13 février 2008 à 15:37:18 Fil de Discussions 
Slut les grands. Stp est-ce que tu peux me dire comment tu fais (la fonction de connexion que tu utilise pour te connecter à ta bd) avec ta chaîne de connexion

($chaine_connexion ="
DRIVER=Microsoft Access Driver (*.mdb);
DBQ=//xxx.xxx.xx.xx/dossier_partagé/bdd_access.mdb;
UserCommitSync=Yes;
Threads=3;
SafeTransactions=0;
PageTimeout=5;
MaxScanRows=8;
MaxBufferSize=2048;
DriverId=281;
DefaultDir=C:/ProgramFiles/CommonFiles/ODBC/DataSources";)
?

Dans ton code GuiGui tu places directement ta chaîne dans la fonction odbc_do qui prend comme premier paramètre l'id de la connexion et non la chaîne.
Merci d'avance pour votre aide.
Répondre à sat
Discussions pertinentes trouvées dans le forum
03/02 16h14[php] Connexion bdd, mot de passe/pseudoWebmastering04/02 10h532
30/01 17h48[php] Connexion bdd, insert into etcWebmastering30/01 21h412
30/05 20h22PHP - Connection bdd MySQLWebmastering02/06 00h226
06/07 16h54IIS - php - Access - et les serveurs ;-)Programmation25/07 13h442
Plus de discussions sur « [IIS+PHP] Connexion BDD distante(Access) » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide