2016-06-13 4 views
1

Je pratique un programme Pro*C et SQL et j'ai le programme simple:Erreur lors de la tentative de compiler des programmes Pro * C sous Linux

#include <stdio.h> 
#include <sqlca.h> 

char user_id[20]="test/test" 
char emp_name[20]; 

main() 
{ 
    EXEC SQL CONNECT :userid; 
    printf("Connected\n"); 

    EXEC SQL DECLARE emp_cursor CURSOR FOR 
     SELECT name 
     FROM badge; 

    EXEC SQL OPEN emp_cursor; 

    printf("Employees---------------"); 
    EXEC SQL WHENEVER NOT FOUND DO break;while (1) 
     { 
      EXEC SQL FETCH emp_cursor INTO :emp_name; 
      printf("%s\n", emp_name); 
     } 

    EXEC SQL CLOSE emp_cursor; 
    EXEC SQL COMMIT WORK RELEASE; 

    exit(0); 
} 

Il récupère simplement tous les noms d'une table appelée BADGE:

CREATE TABLE BADGE 
(
    badge_id NUMBER PRIMARY KEY, 
    name VARCHAR(20), 
    surname VARCHAR(20) NOT NULL, 
    birthday DATE 
); 

Cependant, lorsque je tente de compiler la source que j'ai l'erreur suivante:

proc test.pc proc: symbol lookup error: proc: undefined symbol: kgsuglo_

Quelqu'un peut-il m'aider avec l'erreur?

+0

Quelle version d'Oracle/Pro * C? Client instantané ou installation complète? Votre environnement est-il correctement configuré - PATH et LD_LIBRARY_PATH définis et exportés? –

+0

PATH et LD_LIBRARY_PATH sont exportés correctement. Est-il possible de vérifier la version d'Oracle/Pro * C et le type d'installation? J'utilise un environnement de test déjà existant – user3610096

+0

Est-ce que 'proc' affiche la bannière, qui inclut la version et le chemin par défaut du système - ou est-ce qu'elle échoue avant même d'avoir atteint cette distance? Si non, que montre la bannière 'sqlplus'? A défaut, votre ORACLE_HOME pourrait vous le dire, ainsi que l'entrée de celui-ci dans votre PATH (s'il a ORACLE_HOME/bin). –

Répondre

0

J'ai eu ce problème avec instantclient-precomp-linux.x64-12.1.0.1.0.zip et résolu par la mise à niveau instantclient-precomp-linux.x64-12.1.0.2.0.zip