2016-06-13 7 views
1

Я практикую с программой Pro*C и SQL и у меня есть следующая простая программа:Ошибка при попытке компиляции Pro программ * C в 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); 
} 

Он просто извлекает все имена из таблицы под названием BADGE:

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

Однако, когда я пытаюсь скомпилировать источник у меня есть следующая ошибка:

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

Может ли кто-нибудь помочь мне с ошибкой?

+0

Какая версия Oracle/Pro * C? Мгновенный клиент или полная установка? Правильно ли настроена ваша среда - PATH и LD_LIBRARY_PATH установлены и экспортированы? –

+0

PATH и LD_LIBRARY_PATH правильно экспортированы. Есть ли способ, который я могу использовать для проверки версии Oracle/Pro * C и типа установки? Я использую уже существующую тестовую среду. – user3610096

+0

Отображает ли 'proc' баннер, который включает в себя версию и системный путь по умолчанию - или он не работает до того, как он дойдет до этого? Если нет, то что будет показывать баннер '' llplus''? В противном случае ваш ORACLE_HOME может рассказать вам, а также запись для этого в вашем PATH (есть ли ORACLE_HOME/bin). –

ответ

0

Я имел эту проблему с instantclient-precomp-linux.x64-12.1.0.1.0.zip и решить ее путем обновления до instantclient-precomp-linux.x64-12.1.0.2.0.zip

 Смежные вопросы

  • Нет связанных вопросов^_^