Hi Esteban, Your problem looks familiar to me, and it seems you did not follow my advice. Anyway, here is a C sample program which works. It has nothing to do with wrong types, but with a missing connection, but see for yourself.
/* /opt/pgsql/bin/ecpg -o sampleprog01.c sampleprog01.sql the compile command is for HP-UX - you have to adapt it for your machine cc -Aa +w1 -g -I/opt/pgsql/include/ -L/opt/pgsql/lib/ sampleprog01.c -Wl,-a,archive -lecpg -lpq -o sampleprog01 */ #include <stdio.h> #include <string.h> #include <stdlib.h> #include "libpq-fe.h" exec sql include sqlca; void main() { EXEC SQL BEGIN DECLARE SECTION; char *dbName; VARCHAR tabla[50]; EXEC SQL END DECLARE SECTION; int nrows; dbName = "template1"; EXEC SQL CONNECT TO :dbName ; printf("sqlca.sqlcode = %d \n", sqlca.sqlcode) ; EXEC SQL BEGIN ; EXEC SQL DECLARE T99 CURSOR FOR select relname from pg_class ; EXEC SQL OPEN T99; for(nrows = 0;; nrows++) { EXEC SQL FETCH IN T99 INTO :tabla; if ( sqlca.sqlcode != 0 ) break; printf("%.*s \n", tabla.len, tabla.arr ); } printf("nrows = %d ; sqlca.sqlcode = %d \n", nrows, sqlca.sqlcode) ; EXEC SQL CLOSE T99; EXEC SQL END ; EXEC SQL DISCONNECT ; } ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html