Bonjour,

Je dois utiliser la librairie ocilib dans un environnement AIX 5.3 sur ORACLE 10.2

voici le code test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
#include "ocilib.h"
 
 
int main(int argc, char* argv[])
{  
    /* ------------------------ INITIALIZE OCI -------------------------- */
 
    if (!OCI_Initialize("", "", OCI_ENV_DEFAULT))
    {
        printf("KO");
        return EXIT_FAILURE;
    }
    else
        printf("OK");
    OCI_Cleanup();
    return EXIT_SUCCESS;
}
voici ma commande compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
g++ -I$HOME/include -DOCI_IMPORT_LINKAGE -DOCILIB_CHARSET_ANSI -L/appli/oracle/product/10.2.0/lib -lclntsh  -L$HOME/lib -locilib -g test.cpp -o main
J'obtiens un core dump, et le gdb affiche ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
(gdb) backtrace
#0  0xd2a7a774 in OCIEnvCreate ()
   from $HOME/lib/libocilib.a(libocilib.so.3)
#1  0xd2a7a2dc in OCI_Initialize (err_handler=0, home=0x2 "", mode=0)
    at library.c:792
#2  0x10000394 in main (argc=1, argv=0x2ff22aa0) at test.cpp:8
(gdb) up
#1  0xd2a7a2dc in OCI_Initialize (err_handler=0, home=0x2 "", mode=0)
    at library.c:792
792     library.c: A file or directory in the path name does not exist..
        in library.c
Current language:  auto; currently c
Voici la ligne dans le fichier library.c correspondant à cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
  +792          res = res && (OCI_SUCCESS == OCIEnvCreate(&OCILib.env, oci_mode,
  +793                                                    (dvoid *) NULL, NULL, NULL, NULL,
  +794                                                    (size_t) 0, (dvoid **) NULL));
Pouvez-vous m'aider?
Est-ce un problème de compilation et d'installation de la librairie OCILIB?

Merci,