Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Interfaces de programmation
Interfaces de programmation Forum d'entraide sur l'utilisation des API Oracle : Pré-compilateurs, OCI, OCCI, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2008, 19h30   #1
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 182
Points : 39
Points : 39
Par défaut [OCILIB] Compilation et question

Bonjour

Dans le cadre de mon travail je suis en train de modifier une application qui utilisait des drivers ODBC pour qu'elle se connecte directement a une base ORACLE. Je fais mes tests avec ORACLE XE et sous unbuntu.

J'ai compilé OCILIB et l'ai correctement installé (configure, make, make install). Depuis un bout de temps j'ai ORACLE XE.

J'ai essayé de compiler le programme de demo de OCILIB, mais j'ai cette erreur :
Code :
/usr/bin/ld: warning: libnnz10.so, needed BY /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libclntsh.so, NOT found (try USING -rpath OR -rpath-link)
Pour tant j'ai bien libnnz10.so dans /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
J'ai vérifié les variables d'environnement etc... tout semble correct.
Est ce qq un a une idée sur le problème?

merci a bientot
yupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2008, 21h59   #2
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
Bonsoir,

Question toute bête : est ce que '/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib' est bien dans LD_LIBRARY_PATH ?

le makefile de la demo de OCILIB (généré par le configure) indique au linker le chemin d'accès complet au libclntsh.so qui est détécté par l'install. Mais si ce path n'est pas dans LD_LIBRARY_PATH, les libs que cherche à charger le libclntsh ne seront pas détectées...
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 00h34   #3
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 182
Points : 39
Points : 39
merci
ca marche nickel

Par contre un autre souci, l'initialisation ne se pas pas bien et je n'ai aucun message d'erreur.
Comment faire pour réccupérer l'erreur l'un initialisation de OCI?
Pour quelle raison est ce que OCI ne peut pas s'initialiser?

a bientot
yupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 07h34   #4
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
Citation:
Envoyé par yupa Voir le message
Par contre un autre souci, l'initialisation ne se pas pas bien et je n'ai aucun message d'erreur.

C'est à dire ??
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 15h14   #5
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 182
Points : 39
Points : 39
Désoler je ne devais pas avoir les yeux ou il fallait.
Je viens de lancer le programe de test et ca marche
Merci d'avoir répondu a mes questions
a bientot
yupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 12h49   #6
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 182
Points : 39
Points : 39
Arf
Hier ca marchait et denouveau aujoud'hui l'initialisation ne se fait pas. Je pense que c'est un probleme de lib path mais je ne vois pas ce qui a pu changer depuis la derniere fois.
J'ai fait un petit strace :
Code :
strace ./ocilib_demo xe hr hr
et voila ce que ca donne a la fin :
Code :
1
2
3
open("/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libociei.so", O_RDONLY) = -1 ENOENT (No such file OR directory)
open("/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libocixe.so", O_RDONLY) = -1 ENOENT (No such file OR directory)
open("/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libociicus.so", O_RDONLY) = -1 ENOENT (No such file OR directory)
Je n'ai pas trouvé ou était ces fichiers.
voici mon oracle_home et le ld_library_path :
Code :
1
2
echo $ORACLE_HOME
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
Code :
1
2
echo $LD_LIBRARY_PATH
/usr/LOCAL/lib:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
Une idée ?
merci
yupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 13h44   #7
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
Le message d'erreur est clair, oracle ne trouve pas ces fichiers !

1/ as tu les droits sur le $ORACLE_HOME/lib ?
2/ as tu un libociei.so ou un libociei.x.y.z.so dans $ORACLE_HOME/lib ?
3/ quel est le contenu de ton .profile ?
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 14h07   #8
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 182
Points : 39
Points : 39
J'ai bien les droits sur ORACLE_HOME et les lib cherchées ne sont pas dans ORACLE_HOME/lib. D'ailleur je ne les trouve pas.
Je suis sur ubuntu avec un oracle XE.
Hier le programe de test s'éxécutait très bien et du premier coup. Je pense que j'ai juste du oublier un path qq par (je suis sur plein de truc en même temps) mais je ne vois pas quoi.
yupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 14h14   #9
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
comment as tu lancé le configure de ocilib ?
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 14h28   #10
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 182
Points : 39
Points : 39
J'avais lancé le configure sans paramettre.
Juste pour vérifier j'ai refait un configure et il bloque :
Code :
1
2
3
checking FOR OCILIB package... current version IS : 2.5.1 
checking FOR OCILIB options... import: linkage, charset = ansi 
checking FOR Oracle OCI headers location... configure: error: path NOT found (/rdbms/public)
J'avais eu cette erreur la premiere fois que j'avais lancé le configure, mais il me semblait l'avoir corrigé en positionnant correctement oracle_home

j'ai vérifié les variables oracle home et ld library path :
Code :
1
2
echo $ORACLE_HOME
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
et
Code :
1
2
echo $LD_LIBRARY_PATH
/usr/LOCAL/lib:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
yupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 14h36   #11
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
avant le configure, fait un export

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server

puis fait un configure
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 14h45   #12
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 182
Points : 39
Points : 39
heu... ca marche, le configure et l'execution du programme de démo...
super, mais j'avais "normallement" ORACLE_HOME correctement positionné. Du moins je ne vois pas comment autre export aurait pu changer qq chose, sauf si le précédant n'était pas bon...
Je vais me faire un petit .sh avec tous les exports a faire correctement

Merci beaucoup, du temps que tu as passé a me répondre.

Ps: Si j'ai bien compris c'est toi qui a fait OCILIB (bravo), il y a des chances que je doive faire une batterie de tests sur AIX dans les mois à venir, et par experience sur AIX les choses se compliquent souvant. En cas de problème est ce que je pourai te contacter directement ?
yupa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 14h58   #13
Rédacteur/Modérateur
 
Avatar de Vincent Rogier
 
vincent rogier
Inscription : juillet 2007
Messages : 2 355
Détails du profil
Informations personnelles :
Nom : vincent rogier
Âge : 34

Informations forums :
Inscription : juillet 2007
Messages : 2 355
Points : 3 108
Points : 3 108
oui, c'est bien moi qui développe OCILIB..

OCILIB est déjà validée sur AIX 32/64bits (l'installation en AIX 64bits est toujour moins simple...).

OCILIB v3.0.0 va sortir prochainement (en octobre) et j'ai fait un post pour savoir si des personnes veulent la beta-tester... : Tests de la pré-release v3.0.0 de la librairie OCILIB

OCILIB est actuellement pas mal utilisée dans le bancaire (dans des grandes banques !) et l'industrie

Mais dans tous les cas, je suis toujours preneur pour des tests AIX (je n'ai pas personnellement d'accès à un bécane AIX)

Et tu peux bien évidemment m'envoyer des mail sur mon adresse gmail qui figure dans les sources
__________________
Vincent Rogier.

Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

OCILIB (C Driver for Oracle)

Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Vincent Rogier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h38.


 
 
 
 
Partenaires

Hébergement Web