Oracle - Problema con Script Pro*C

 
Vista:

Problema con Script Pro*C

Publicado por jaldonfer (4 intervenciones) el 08/08/2008 07:41:48
Hola a todos:

Hasta ayer, nunca había trabajado con Pro*C, pero despues de leer manuales y mirar en internet, creo que entiendo cual es el proceso que conlleva el trabajar con Pro*C.

- Se escribe un archivo con la sintaxis de Pro*c y se guarda como .pc

- Seguidamente se precompila con el comando 'proc' ( hasta el momento he probado en Windows XP y en UNIX y me ha funcionado ), . . . y una vez compilado se genera un archivo con el mismo nombre, pero con extension .c

- Luego entiendo que es cuestión de compilar con cc ( UNIX ) ó con cl ( WINDOWS ) y ya estaría. ( Digo entiendo, puesto que hasta el momento no he conseguido compilar lo que el compilardor de Pro*C me genera. el mensaje de error que me en el compilador 'cc' es el siguiente:

cc: '/home/test/Asignacion/SQL/include/sqlcpr.h', line 66: warning 573: Parameter list is inconsistent for 'sqliem'.
/usr/ccs/bin/ld: Unsatisfied symbols:
sqlglm (first referenced in Test.o) (code)
sqlcxt (first referenced in Test.o) (code)


//-------------------------------------------------------------------------------------------------
El codigo que he puesto en el fichero .pc es el siguiente:

#include 'stdio.h'
#include 'stdlib.h'
#include 'string.h'

EXEC SQL INCLUDE sqlca;
EXEC SQL WHENEVER SQLERROR DO sql_error();
void sql_error() {
char msg[200];
size_t buf_len, msg_len;
buf_len = sizeof (msg);
sqlglm(msg, &buf_len, &msg_len);
printf('%.*snn', msg_len, msg);
exit(1);
}
void main()
{
EXEC SQL BEGIN DECLARE SECTION;
char username[] = 'test/test@test';
SQL_CURSOR pet_cursor;
int i_v_dummy1;
char c_v_dummy2[5];
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT :username;
printf('nConectado a ORACLEn');

/* EXEC SQL ALLOCATE :pet_cursor; // Constructor - ALLOCATE Cursor.
printf('nLlamando a bloque PL/SQL:n');
EXEC SQL EXECUTE
BEGIN
select (2+2) as SUMA from dual;
END;
END-EXEC;*/


exit(0);
}
//-------------------------------------------------------------------------------------------------

Le he ido quitando codigo para ver si conseguía compilarlo, pero creo que con el que se muestra ahí, ya debería de ser suficiente, no ?

Alguien sabe por donde podrían ir los tiros ?
sqlglm (first referenced in Test.o) (code)
sqlcxt (first referenced in Test.o) (code)


Muchas Gracias y Saludos!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder