Nota SPIP-Contrib : une contrib qui remonte initialement a août 2005 (post SPIP 1.9 donc), depuis de nombreuses choses on changé sur le code, en particulier pour le portage multibase, voir par exemple : Portage de SPIP en PostGres
Une contrib donc probablement à remanier et à aboutir, mais la preuve est déjà faite que c’est possible ... contributeurs à vos claviers
Interroger une base Oracle grâce au MultiBase
Après plusieurs heures de recherche, de debug, j’ai enfin réussi à interroger une base Oracle.
voici donc le résultat des mes investigations :
Prérequis
Une connexion à Oracle qui fonctionne,
vérifiez que vous avez bien un client oracle installé sur votre machine
que le fichier TNSNAMES.ORA est bien configuré
que l’extension php est installée
dans le fichier php.ini supprimer le point virgule devant extension
;extension=php_oracle.dll
note : J’ai choisi de me connecter avec les commandes php Oracleora, et non avec les commandes Oracle 8oci, pas pour la simplicité du code, mais plutôt parce que je n’ai pas réussi a me connecter à ma base de tests avec les oci.
le fichier de connection et de traitement des boucles
j’ai créé un fichier inc_connect-ora.php3 avec pour début :
et avec les fonctions suivantes :
function spip_ora_select, notez la gestion de $limit différente de mysql.
function spip_ora_fetch , ne pas oublier de remettre le résultat en minusucules !!!
function spip_ora_count
function spip_ora_free
Définition des tables
dans le fichier monsquelette_fonctions.php3
note importante : il faut s’arranger pour que les tables définies dans le tableau $GLOBALS['tables_des_serveurs_sql'] n’aient pas le même noms que les tables de SPIP, pour cela j’ai préfixé toutes les tables de "ora_" qui correspond au code de connexion du serveur ($table_ora['ora_articles'] =.
la boucle dans le squelette
Allez, je complique les choses et vais réaliser un lien entre les table ARTICLES et EPHEMERE_OPTIONS
articles.article = ephemeres_options.ephemere
TODO :
Fermer proprement la connexion à la base oracle
tester, tester, et encore tester... merci pour votre aide...
Remerciements merci beaucoup à :
mortimer
Déesse A.
Philippe Martin
pour leur aide...
N’hésitez pas a participer : ajouter vos commentaires, corrections, etc...