Outils pour utilisateurs

Outils du site


tips_informatiques:bases_de_donnees:oracle:oracle

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

  1. Copier le contenu du CD du client sur le HD
  2. rechercher le fichier symcjit.dll
  3. le renommer
  4. 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
tips_informatiques/bases_de_donnees/oracle/oracle.txt · Dernière modification: 2012/12/03 15:47 par nico