proc dbtest.pc하면
#include <stdio.h>부분에서 다른 inclue화일을 참조 할수 없다구 에러가 떨어져서..
주석으로 막구 다시
proc dbtest.pc하면 정상적으로 됩니다.
그런데 cc dbtest.c -o dbtes.o하면
/tmp/ccfpuo3S.o: In function `main':
/tmp/ccfpuo3S.o(.text+0x1d3): undefined reference to `sqlcxt'
/tmp/ccfpuo3S.o(.text+0x266): undefined reference to `sqlcxt'
/tmp/ccfpuo3S.o(.text+0x2fa): undefined reference to `sqlcxt'
/tmp/ccfpuo3S.o: In function `get_data':
/tmp/ccfpuo3S.o(.text+0x4ae): undefined reference to `sqlcxt'
collect2: ld returned 1 exit status
이렇게 에러 메시지가 떨어지는 군요...
그래서 다 주석으로 막구..다시
cc dbtest.c -o dbtes.o하면
정상적으로 됩니다.
그런데...
실제로 실행 결과값이..(null)이 나오네여...
어떻게...된건지.....좀....
소스를..올리께요....
===============================================================================
/*
File Name : dbtest.pc
Description : Connect to Oracle DB,
then get the corresponding emp data to the user inputted
emp number
*/
/*#include <stdio.h>*/
/* 선언부 */
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR user_id[20];
VARCHAR passwd[20];
int var_number;
VARCHAR var_name[20];
EXEC SQL END DECLARE SECTION;
/* 포함부 */
EXEC SQL INCLUDE SQLCA;
/* 프로그램 함수 선언 */
void get_data();
main()
{
/*printf("\n Enter User ID :");
scanf("%s", user_id.arr);
printf("\n Enter Password :");
scanf("%s", passwd.arr);*/
sprintf(user_id.arr,"%s","scott");
sprintf(passwd.arr,"%s","tiger");
user_id.len = strlen(user_id.arr);
passwd.len = strlen(passwd.arr);
/* 접속부 */
EXEC SQL CONNECT :user_id IDENTIFIED BY :passwd;
if(sqlca.sqlcode < 0)
{
printf("\n%s", sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK WORK RELEASE;
exit(1);
}
else
{
printf("\nConnected to Oracle.");
EXEC SQL COMMIT WORK RELEASE;
get_data();
}
exit(0);
}
void get_data()
{
/*printf("\n Enter Employee Number to Query:");
scanf("%d", &var_number);*/
var_number=10;
/* 데이터 처리부 */
EXEC SQL SELECT name INTO :var_name FROM test WHERE num = :var_number;
printf("\n Employee %d :", var_number);
printf(" Name : %s", var_name);
printf("\n");
}
===============================================================================
SQL> desc test
Name Null? Type
------------------------------- -------- ----
NUM NUMBER
NAME VARCHAR2(20)
SQL>
SQL> select * from test;
NUM NAME
---------- --------------------
10 서현수
SQL>
|