Re[2]: [pgsql-ayuda] 4GL para PostgreSQL

Sferacarta Software sferac@bo.nettuno.it
Thu, 19 Nov 1998 16:27:22 +0100


Hola David,

giovedě, 19 novembre 98, you wrote:

DP>         Esa línea define una variable con la misma estructura que los registros
DP> de la tabla 'prueba'. Para eso, tiene que conectar con la base de datos
DP> que indiques en la linea 'database...' del programa .4gl (será
DP> hy4gl_test, seguramente). Prueba a conectar con esa base de datos con el
DP> psql (psql -d hy4gl_test) y a hacer un '\d prueba'. Eso debe darte la
DP> estructura de la tabla 'prueba' y es lo mismo que hace el compilador.

$ psql hy4gl_test -c '\d prueba'

Table    = prueba
+----------------------------------+----------------------------------+-------+
|              Field               |              Type                | Length|
+----------------------------------+----------------------------------+-------+
| num                              | int4                             |     4 |
+----------------------------------+----------------------------------+-------+

Hice este programa para veer se \d prueba funciona, pero' me da un error:

/* prueba.c */
#include <stdio.h>
#include "halt.h"
#include <libpq-fe.h>
#include "pginterface.h"

int main()
{
char attname[32], typname[32];
short int attlen;
connectdb("hy4gl_test", NULL, NULL, NULL, NULL);
doquery("BEGIN WORK");

/* esto es lo mismo que \d prueba y funciona */

doquery("DECLARE ch BINARY CURSOR FOR\
        SELECT a.attname, t.typname, a.attlen\
        FROM pg_class c, pg_attribute a, pg_type t\
        WHERE c.relname = 'prueba'\
            and a.attnum > 0\
            and a.attrelid = c.oid\
            and a.atttypid = t.oid");
doquery("FETCH ALL IN ch");
while (fetch(attname,typname,&attlen) != END_OF_TUPLES)
      printf("Field: %s\nType: %s\nLength: %d\n",attname,typname,attlen);
doquery("CLOSE ch");
doquery("COMMIT WORK");

/*esto me da un error*/
doquery("\\d prueba");
disconnectdb();
return 0;
}
     
Este es el output:
$ prueba

Field:  num
Type:   int4
Length: 4
query error:  
failed request:  \d prueba

?Puede ser que "DEFINE reg RECORD LIKE prueba.*" da un error por el
mismo motivo ?

Yo estoy usando:

PostgreSQL      : v6.4
Sistema op      : Linux 2.0.34 ELF (Debian)
cpu             : 586
model           : Pentium 60/66
vendor_id       : AuthenticAMD

He aqui de nuevo el mensaje... my username es postgres, ya probe' tambien con
davidp pero es lo mismo...

hy4gl V.0.6. (c)1998 David Prieto
------------------------------------------
52_select.4gl:3: No se puede conectar con la base de datos 'hy4gl_test'
FATAL: PQsetdb: Unable to determine a Postgres username!

Ideas ?

-Jose'-


--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion pgsql-ayuda