[pgsql-ayuda] Ayuda con modulo DBI

=?iso-8859-1?q?Estrella=20Dominguez?= papanatas_00@yahoo.com
Wed, 6 Sep 2000 15:52:14 -0500 (CDT)


Ahora si me quede con el ojo cuadrado......
Eso merece unas chelas

Que otras cosas tienes debajo de la manga?
bye. sevega

--- "Ing. Roberto Andrade Fonseca"
<randrade@abl.com.mx> escribió: > Hola Estrella:
> 
> On Tue, 5 Sep 2000, Estrella Dominguez wrote:
> 
> > #!/usr/bin/perl
> > 
> > use DBI;
> > 
> >
>
$dbh=DBI->connect('dbi:Pg:dbname=activos','postgres','perron',{RaiseError=>1,AutoCommit=>0});
> > 
> > $sth = $dbh->prepare("select * from activo");
> > $sth->execute;
> > while ( @row = $sth->fetchrow()) {
> >        print "$row[0], $row[1]\n";
> > }
> > $sth->finish;
> > $dbh->disconnect;
> > 
> > Funciona sin problemas pero si cambio la linea que
> > dice:
> > 
> > $sth = $dbh->prepare("select * from activo");
> > por esta:
> > $sth = $dbh->prepare(\'z');
> > 
> > ya no funciona. Me pueden decir que debi hacer
> aqui
> > para hacer funcionar esto?
> No fucniona debido a que el comando '\z' NO es un
> comando SQL, el cual analiza el prepare de DBI.
> 
> \z es un comando interno del monitor de postgresql:
> psql.
> 
> Si buscas en los fuentes de pgsql, seguramente
> encontrarás las sentencia SQL que preguna a las
> tablas del sistema
> sobre los permisos de acceso que te reporta \z,
> 
> O, mejor, usando la opcion -E al levantar psql
> activos, psql te mostrará la sentencia SQL que
> realmente está
> mandando al motor, en tu caso, \z es equivalente a:
> 
> ********* QUERY *********
> SELECT relname as "Relation",
>        relacl as "Access permissions"
> FROM   pg_class
> WHERE  ( relkind = 'r' OR relkind = 'S') AND
>        relname !~ '^pg_'
> ORDER BY relname
> ************************
> 
> Usa esta sentenia ane tu prepare y nos platicas.
> 
> > 
> > y abusando de su confianza :) (Como doy lata, pero
> de
> > que otra forma aprendo)
> > Como le hago para que esto me funcione:
> > 
> > $sth = $dbh->prepare("create user prueba with
> password
> > 'testa'");
> > $sth->execute;
> > $dbh->commit;
> > $dbh->disconnect;
> 
> El script debe decir:
> 
> #!/usr/bin/perl -w
> 
> use DBI;                
>                                   
>
$dbh=DBI->connect('dbi:Pg:dbname=activos','postgres','perron',{RaiseError=>1});
> 
> $sth = $dbh->do('create user prueba with password
> \'testa\'');
> $dbh->disconnect;
> 
> 
> Es decir, sin AutoCommit y, mejor, con do.
> 
> 
> Sugererencia adiconal:
> 
> usa siempre:
> 
> #!/usr/bin/perl -w
> 
>                  ^
> 	con -w
> 
> 
> Saludos,
> 
> Roberto Andrade Fonseca
> randrade@abl.com.mx
> 
> --------- Pie de mensaje
> -------------------------------------------
> Archivo historico:
> http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
> Cancelar inscripcion:
> mail to: majordomo@tlali.iztacala.unam.mx
> text   : unsubscribe pgsql-ayuda
> 


=====
Si lo que quieres es vivir cien años, no vivas como vivo yo.





_________________________________________________________
Do You Yahoo!?
Obtenga su dirección de correo-e gratis @yahoo.com
en http://correo.espanol.yahoo.com
--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : unsubscribe pgsql-ayuda