Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
tips_informatiques:bases_de_donnees:oracle:oracle [2009/06/22 14:49] nico créée |
tips_informatiques:bases_de_donnees:oracle:oracle [2012/12/03 15:47] (Version actuelle) nico [Installation du client Oracle 8i sous Ubuntu] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Installation du client Oracle 8i sur WIndows XP, PIV ====== | + | ====== Installation du client Oracle 8i sur Windows XP, PIV ====== |
__OS__: Windows XP | __OS__: Windows XP | ||
Ligne 18: | Ligne 18: | ||
Sans ce renommage, l'installation ne se lance pas. Ceci est dû à un problème de compatibilité de la version de la JVM présente sur le CD avec les PIV. | Sans ce renommage, l'installation ne se lance pas. Ceci est dû à un problème de compatibilité de la version de la JVM présente sur le CD avec les PIV. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Installation du client Oracle 8i sous Ubuntu ====== | ||
+ | |||
+ | __OS__: testé sous Ubuntu 9.04, 11.04 et 12.04 | ||
+ | |||
+ | __Processus__: | ||
+ | |||
+ | * télécharger instantclient-basic-linux32-11.2.0.2.0.zip depuis le site d'Oracle | ||
+ | * télécharger instantclient-sdk-linux32-11.2.0.2.0.zip depuis le site d'Oracle | ||
+ | * installer le dossier instantclient_11_2 de instantclient-basic-linux32-11.2.0.2.0.zip dans /opt/oracle/instantclient_11_2 | ||
+ | * copier le dossier 'sdk' de instantclient-sdk-linux32-11.2.0.2.0.zip dans le dossier instantclient_11_2 | ||
+ | |||
+ | * télécharger oci8-1.4.5.tgz depuis http://pecl.php.net/package/oci8 | ||
+ | * installer phpize (paquet php5-dev) | ||
+ | * dans le dossier /opt/oracle/instantclient_11_2/, créer un lien symbolique qui manque: libclntsh.so -> ./libclntsh.so.11.1 | ||
+ | * lancer phpize dans le dossier de oci8-1.4.5.tgz | ||
+ | * ./configure -with-oci8=shared,instantclient,/opt/oracle/instantclient_11_2/ | ||
+ | * make | ||
+ | * sudo make install | ||
+ | * installer le paquet libaio-dev | ||
+ | |||
+ | __Remarque__: | ||
+ | |||
+ | Sans l'installation du paquet libaio-dev, le module oci.so de PHP ne fonctionne pas, car une dépendance n'est pas trouvée. | ||
+ | Pour connaître les dépendances insatisfaites, utiliser la commance suivante: | ||
+ | |||
+ | <code bash> | ||
+ | ldd -v /usr/lib/php5/20060613+lfs/oci8.so | ||
+ | </code> | ||
+ | |||
+ | et chercher le terme 'not found' | ||
+ | |||
+ | ====== INSERT avec une date ====== | ||
+ | |||
+ | __Problème__: Comment effectuer un INSERT contenant un champ DATE | ||
+ | |||
+ | Sous Oracle, les chaînes de caractères ne sont pas transformées automatiquement en date lorsque l'on effectue une requête telle que: | ||
+ | |||
+ | <code sql> | ||
+ | INSERT INTO mytable (birthday) VALUES ('2000-12-25') -- -> ORA-01861: literal does not match format string | ||
+ | </code> | ||
+ | |||
+ | __Solution__: | ||
+ | |||
+ | Il faut formater la date au moyen de la fonction TO_DATE | ||
+ | |||
+ | <code sql> | ||
+ | INSERT INTO mytable (birthday) VALUES (TO_DATE('2000-12-25', 'yyyy-mm-dd')) -- -> OK | ||
+ | </code> | ||
+ |