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

MkFramework Discussion :

connexion de mkframework avec la BD Oracle


Sujet :

MkFramework

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut connexion de mkframework avec la BD Oracle
    j'aimerais utiliser mkframework avec la base de données Oracle 12c. «Est-ce possible ? Pouvez-vous m'aider pour les paramètres de connexion. Merci

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Oui c'est possible

    Créez une application avec le builder,
    Vous avez un exemple de connexion pdo/oracle dans le fichier conf/connexion.ini.PHP de l'appli générée
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    personnage virtuel
    Inscrit en
    Mars 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnage virtuel
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Exemple dsn oracle
    Bonjour,

    J'ai la version du framework 4_109_r269. Sur le builder, je n'ai pas d'exemple de connexion oracle.

    J'ai tour le reste (mysql, postgres, sqlserver, firebird, xml, json, sqllite, csv) mais pas de pdo_oracle.

    Pourtant le driver existe bien dans le dossier lib/framework/sgbd/pdo.

    j'ai essayé de déduire la syntaxe du dsn suivant les autres exemples, sur le modèle suivant : pdoOracleExple.dsn = oracle:host=192.168.1.XX:YYYY/xe (où X est l'ip et Y le port) et pdoOracleExple.sgbd = pdo_oracle

    La connexion ne se fait pas : could not find driver

    As-tu un exemple de syntaxe de chaîne de connexion ?

    Ylian

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour information, la construction se fait ainsi: on créé une instance de l'objet pdo avec la variable .dsn

    On peut lire sur le site php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $tns = "
    (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = yourip)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
           ";
    $db_username = "youname";
    $db_password = "yourpassword";
    try{
        $conn = new PDO("oci:dbname=".$tns ...

    http://php.net/manual/fr/ref.pdo-oci.php

    Ce qui donnerait dans le fichier de config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    pdoOracle.dsn="oci:dbname=//serveur_oracle:1521/XE"
    pdoOracle.sgbd=pdo_oracle
    pdoOracle.hostname=serveur_oracle
    pdoOracle.database=
    pdoOracle.username=nom_schema
    pdoOracle.password=pwd_schema
    Un utilisateur avait déjà demandé: http://www.developpez.net/forums/d12...driver-oracle/


    Pour le driver, il faut installer le driver php pdo oracle
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    personnage virtuel
    Inscrit en
    Mars 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnage virtuel
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 33
    Points : 34
    Points
    34
    Par défaut dsn oracle
    Eh bien voila, çà marche parfaitement. La première étape de mon challenge est opérationnelle grâce à toi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    pdoOracle.dsn="oci:dbname=//serveur_oracle:1521/XE"
    pdoOracle.sgbd=pdo_oracle
    pdoOracle.hostname=serveur_oracle
    pdoOracle.database=
    pdoOracle.username=nom_schema
    pdoOracle.password=pwd_schema
    Pour info, le driver était bien installé, mais comme je l'appelais "oracle" au lieu de "oci", il ne cherchait pas le bon.

    A présent, je vais passer à la deuxième étape, un crud pour une application 100% compatible oracle ou mysql, par simple changement de paramètre.

    Les premiers résultats sont prometteurs.

    Merci de ta dispo, l'ami, et pour ton travail formidable.

    Ylian

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    De rien, merci d'utiliser ce framework, n'hesitez pas à en faire la promotion
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    personnage virtuel
    Inscrit en
    Mars 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : personnage virtuel
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 33
    Points : 34
    Points
    34
    Par défaut dsn oracle
    Bonjour,

    Pour information, et pour les utilisateurs du module table sur Oracle.

    ceux qui utilisent le module table avec tri et pagination ont un exemple sur la page de tutoriaux de ce module.

    L'exemple porte sur le modèle "complex4".

    Une fois passé sur Oracle, il y a une erreur de syntaxe sur la requête de la fonctioncountAll (la fonction qui compte les résultats pour la pagination).

    Voici la fonction, que vous devez avoir dans votre modèle de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public function countAll(){
       $oRow=$this->findOneSimple('SELECT count(id) as total FROM '.$this->sTable.' ');
       plugin_debug::addSpy('oR',$oRow);
       if($oRow){
           return $oRow->total;
       }
       return 0;
    }
    Sous Mysql, ça passe bien, mais sous Oracle, ça coince, à cause de la syntaxe de la variable total.

    Le mieux est donc de changer la 1ère ligne de la fonction comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       $oRow=$this->findOneSimple('SELECT count(id) as "total" FROM '.$this->sTable.' ');
    Cette syntaxe est compatibe avec mysql ET oracle.

    Hope it helps !

    Ylian

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

Discussions similaires

  1. Connexion sysdba avec le driver Oracle du .NET Framework
    Par mbartolacci dans le forum Accès aux données
    Réponses: 5
    Dernier message: 28/08/2008, 13h08
  2. Connexion d'utilisateurs avec Oracle 9i
    Par KotoWeb dans le forum Connexions aux bases de données
    Réponses: 2
    Dernier message: 15/11/2007, 13h50
  3. [Ado+Oracle] Problème connexion avec la base oracle
    Par Bourak dans le forum Bases de données
    Réponses: 6
    Dernier message: 05/04/2007, 09h30
  4. connexion d'hote avec oracle
    Par biba158 dans le forum Oracle
    Réponses: 1
    Dernier message: 13/08/2006, 01h29
  5. Connexion de Delphi avec une base de données Oracle 9i
    Par Price dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/12/2005, 12h38

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