====== Installation du client Oracle 8i sur Windows XP, PIV ====== __OS__: Windows XP __Processeur__: Pentium IV __Problème__: Comment installer le client Oracle 8i sur un Windows XP avec Pentium IV - Copier le contenu du CD du client sur le HD - rechercher le fichier symcjit.dll - le renommer - lancer l'installation depuis le HD pathToCdContent\autorun\autorun.exe __Raison__: 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: ldd -v /usr/lib/php5/20060613+lfs/oci8.so 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: INSERT INTO mytable (birthday) VALUES ('2000-12-25') -- -> ORA-01861: literal does not match format string __Solution__: Il faut formater la date au moyen de la fonction TO_DATE INSERT INTO mytable (birthday) VALUES (TO_DATE('2000-12-25', 'yyyy-mm-dd')) -- -> OK