IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

OLEDB sur serveur [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 43
    Points : 31
    Points
    31
    Par défaut OLEDB sur serveur
    Bonjour,
    Mon script php me permet de me connecter à une base HFSQL en utilisant OLEDB. Lorsque tout est en local sur mon ordi, tout fonctionne bien.

    Mais à présent, je dois travailler sur un serveur (la BD et le script sont sur le serveur). J'arrive à me connecter correctement à ma BD via le centre de contrôle HFSQL, mais avec mon script php, j'obtiens l'erreur suivante (ligne 10 du code d'après):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Source: ADODB.Connection Description: Impossible de trouver le fournisseur. Il est peut-être mal installé.
    Je vous passe mon morceau de code qui me sert à me connecter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ini_set('display_errors', 'On');
    include('adodb5/adodb.inc.php'); 
     
    $ProviderOLEDBHFSQL = 'Provider=PCSOFT.HFSQL; Data Source=localhost; Initial Catalog=testAPI; User ID=*****; Password=******;';
     
    $ConnectionOLEDBHFSQL = new COM("ADODB.Connection")
    	or die("Impossible d'instancier un objet ADO");
     
    $ConnectionOLEDBHFSQL ->ConnectionString = $ProviderOLEDBHFSQL;
    $ConnectionOLEDBHFSQL -> Open();
    Sur mon serveur, j'ai installé la dll que j'utilisais en local (j'ai vérifié avec phpinfo(), elle est correctement installée).

    Quelqu'un aurait une idée pour résoudre cette erreur ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'aurais pas installé le pilote ODBC en local mais pas sur le serveur ?
    Apparement il faut en plus au moins MDAC 2.8.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    Merci de ta réponse sabotage.
    Je vérifie ca demain matin et je te tiens au courant

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    En effet, OLEDB n'était pas installé sur le serveur. Je l'ai donc installé au chemin C:\Program Files\Common Files\PC SOFT\19.0\OLEDB\Win32x86 de mon serveur (qui est en 32bits).

    J'ai également installé MDAC 2.8 depuis mon serveur. L'installation se lance, sans rien après.

    Mais j'ai toujours la même erreur qui s'affiche :/

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    Cependant, je me demande comment sont chargées les dll du provider OELDB (en local pour l'instant). En effet, elles ne figurent pas dans le php.ini, ni dans phpinfo(). Pourtant, lorsque j'en enlève une du dossier

    C:\Program Files (x86)\Common Files\PC SOFT\19.0\OLEDB\Win64x86

    Mon programme ne fonctionne plus. Je n'arrive pas à trouver ce qui fait que ces dll sont correctement chargées. Si je trouve, je pourrais faire de même pour mon serveur. Une idée sur une méthode de chargement d'une dll à part le php.ini ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    PHP utilise l'objet ADO.
    Es-ce qu'en local tu vois le pilote ODBC ou la connexion dans les sources de données Windows ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    J'ai réussi à trouver le problème, l'installation sur le serveur avait mal été exécutée. Avec mon collègue, nous pensons que le lancement de l'exécutable qui installe OLEDB charge des fichiers système windows. Et ce sont ceux-ci qui doivent charger les dll utiles pour le provider OLEDB.

    Encore merci de tes réponses sabotage, ca m'a permit d'installer correctement OLEDB sur le serveur.
    Bonne journée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CORBA sur serveur web en local
    Par barberot dans le forum CORBA
    Réponses: 8
    Dernier message: 31/03/2004, 08h28
  2. Erreur sur serveur lié
    Par k-lendos dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/03/2004, 15h21
  3. [Sybase] Accès Table sur serveur distant
    Par MashiMaro dans le forum Sybase
    Réponses: 5
    Dernier message: 11/02/2004, 14h09
  4. Erreur de connexion à ma base sur serveur Debian - Apache
    Par GLDavid dans le forum Installation
    Réponses: 4
    Dernier message: 24/09/2003, 10h29
  5. jsp sur serveur distant
    Par petitelulu dans le forum JBuilder
    Réponses: 5
    Dernier message: 11/09/2003, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo