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 :

Récupération en local d'un site utilisant OBDC et FIREBIRD [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 39
    Points
    39
    Par défaut Récupération en local d'un site utilisant OBDC et FIREBIRD
    Bonjour,

    J'ai récupéré le site d'un client qu'avait développé une autre entreprise avec laquelle nous n'avons plus aucun contact. Le but pour le moment est de l'installer en local sur mon ordi pour y faire des modifs

    Je commence à fouiller le code en cherchant les accès bdd, m'attendant à trouver un bon vieux mysql_connect ou pdo et là je tombe sur ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function connecter_securite()
    {
    	//////////A MODIFIER/////////////////////////////////////
    	$cheminDeMaBase = 'd:\\blabla\\nomfichier.fdb';
    	//connection a la bdd firebird via ODBC
    	$connectionString = sprintf("DRIVER={Firebird/InterBase(r) driver};DBNAME=%s" , $cheminDeMaBase);
    	// Connexion
    	$connexion = odbc_connect($connectionString, "", "");
      
       if ($connexion == 0)
       {
            $echec++;  
            error_log("Echec de connecter_securite à la base b_cvl : ".odbc_error()." ---- ".odbc_errormsg(), 0);
       }
      
    	return $connexion;
    }
    N'ayant jamais entendu parlé ni de firebird ni d'OBDC ni de l'extension fdb, je commence à fouiller le net mais depuis 2h j'ai l'impression de ne pas en savoir plus. Toujours aucune idée de comment l'installer. Je suis sur windows, j'ai donc vu qu'on pouvait ajouter une source via le panneau de configuration puis sélectionner une base crée via phpMyAdmin.
    Sauf que de mon coté, j'ai juste un fichier .sql de 180Mo dont les premières lignes commencent par des lignes du style :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DECLARE EXTERNAL FUNCTION RDB$GET_CONTEXT
    VARCHAR(80) CHARACTER SET utf8, VARCHAR(80) CHARACTER SET utf8
    RETURNS VARCHAR(255) CHARACTER SET utf8 FREE_IT
    ENTRY_POINT 'get_context' MODULE_NAME 'system_module';

    Et à chaque fois que j'essaie d'envoyer ce fichier .sql à phpMyAdmin, il me répond

    MySQL a répondu: Documentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE EXTERNAL FUNCTION RDB$GET_CONTEXT
    VARCHAR(80) CHARACTER SET NONE, VARCH' at line 1

    Du coup, ma première question (d'autres suivront surement après) : comment je peux faire avaler à phpMyAdmin ce code sql foireux qu'il n'accepte pas ? J'ai config mon php ini pour qu'il puisse accepter les lourds fichiers, donc normalement ça ne vient pas des 180 Mo que fait le fichier sql mais bien de différences qu'il doit y avoir entre firebird, phpMyAdmin ou MySQL

    Je vous remercie d'avance pour vos réponses, désolé si mon message est débridé, jchui un peu perdu là

  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
    Firebird est un système de gestion de base de données (SGDB) comme Mysql, Sql Server ou Postgresql.
    Ton fichier fdb est une base de données Firebird.
    Phpmyadmin est un script PHP qui exploite les bases de données Mysql, il ne peut rien faire de tes données Firebird.
    ODBC est un composant Windows permettant la communication entre un client et des bases de données.

    Il existe visiblement des outils pour exporter les données Firebird :
    http://fbexport.sourceforge.net/manual.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FBExport.exe -D nomfichier.fdb -U user –P password -Si -V nomtable -F export.sql
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Merci pour ta réponse, c'est bien ce que je craignais ...
    Mais du coup, si je convertis en MySQL ou que je l'exporte à l'aide du lien que tu m'as envoyé, ça va se "transformer" en MySQL et toutes les requêtes dans le code du site (gros gros site) ne vont plus fonctionner, si ? ?

    De mon coté je vais commencer à me renseigner pour mettre firebird sur mon pc du coup :-/

  4. #4
    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
    Si tu ne veux pas modifier le code, il faut en effet installer Firebird et un connecteur ODBC pour Firebird.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    J'sens que je vais en chier xd

    Merci, je passe le sujet en résolu

    Oh, une dernière question avant de classer le dossier : Si le serveur était sous Linux et que j'installe firebird sur un windows, ça va pas poser de problème au niveau de l'ODBC ? Car j'ai vu cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connectionString = sprintf("DRIVER={Firebird/InterBase(r) driver};DBNAME=%s" , $cheminDeMaBase);
    C'est bon si j'installe les drivers firebird odbc windows ou je vais devoir changer tous les appels à la base ?

    Encore merci

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

Discussions similaires

  1. mise en ligne local d'un site asp.net
    Par ecco27 dans le forum IIS
    Réponses: 2
    Dernier message: 29/10/2008, 16h16
  2. quel CMS ce site utilise?
    Par ndriana dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 14/10/2008, 07h37
  3. Réponses: 6
    Dernier message: 16/10/2007, 07h03
  4. redirection d'un site utilisation .htaccess
    Par zorian dans le forum Apache
    Réponses: 3
    Dernier message: 26/06/2006, 19h19

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