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