=?iso-8859-1?Q?Re: L=EDmite en conjunto de resultados con
DBD::Oracle?=
Francisco Obispo
fobispo at nic.ve
Fri Apr 11 14:10:11 CDT 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hola..
Bueno, yo especifico en mis DSNs lo siguiente:
$DSN="dbi:Oracle:host=<HOST>;sid=<SID>";
no conocía DBD::Oracle8 ... por lo general uso DBD::Oracle, cuando
lo compilas el establece los links con las librerias de oracle8i..
Alejandro Imass wrote:
|Oracle 8.0.5.0.0
|Perl 5.6.1
|DBI 1.14
|DBD-Oracle 1.12
|DBD-Oracle8 1.06
|
|Una preguntica, si pongo Oracle8 en el connect string me dice que no
encuentra el módulo aunque está instalado con la versión especificada
arriba. Hay otra forma explícita de decirle que es 8; será ese el problema?
|
|Snip del código de prueba:
|
|
| $dbh = DBI->connect('dbi:Oracle:','imat', 'material') or die
$DBI::errstr;
|
| $query = qq|
| SELECT SN, NOUN, MODIFIER FROM PARTS_MASTER
| |;
|
| $sth = $dbh->prepare($query);
| $rv = $sth->execute();
|
| $rows=0;
| while(my $ref = $sth->fetchrow_hashref(NAME_lc)){
| $rows++; # rows counter
|
| $sn = @$ref{'sn'};
| $noun = @$ref{'noun'};
| $modifier = @$ref{'modifier'};
| }
| print $rows;
|
| $dbh->disconnect();
|
$sth->rows te indica cuantas filas fueron procesadas... asi que te
evitas la variable $rows.
No todos los drivers DBD::XXX lo soportan, pero se que oracle si.
Adicionalmente no se... creo que para lo que hace ese script veo mucho
más trabajoso
toda esa derefereciacion para obtener los valores..., quizás podrias
hacer algo como:
while( my ($sn,$noun,$modifier)=$sth->fetchrow_array){
~ # .. hacer algo con $sn , $noun y $modifier
}
lo cual es un poco mas barato.
recuerda el $sth->disconnect
no veo nada que te pueda estar causando los problemas que me indicas,
alguno de esos
datos son de tipo Long? ..Mhhm, el query via SQLPLUS te devuelve ese
mismo numero de registros?
en estos dias me ocurrió algo muy similar..
estaba haciendo un reporte de una base de datos que tenia >2000000 de
registros, y el query
no me devolvia nada !! como necesitaba la solución immediata lo tuve
que hacer en Java,
pero ahora que tengo un poco mas de tiempo voy a ver que fué lo que paso.
Saludos
|
|
|----- Original Message -----
|From: Ernesto Hernandez-Novich <emhn at telcel.net.ve>
|Date: Fri, 11 Apr 2003 11:41:37 -0400 (VET)
|To: Perl Mongers Caracas <caracas-pm-list at pm.org>
|Subject: Re: Límite en conjunto de resultados con DBD::Oracle
|
|>On Fri, 11 Apr 2003, Alejandro Imass wrote:
|>
|>>Estoy recorriendo un simple query a una tabla de un poco mas de 50000
|>>registros pero la funcisn fetchrow_hasref se detiene en el registro 3677.
|>>No da errores ni excepciones, solo se detiene como si fuese el final del
|>>conjunto de resultados.
|>>
|>>Es particular a DBD::Oracle? Probablemente.
|>
|>Nunca he tenido ese problema, y con tablas bastante más largas y anchas.
|>
|>¿Qué versión de Oracle estás utilizando?
|>--
|>Ernesto Hernández-Novich - Running Linux 2.4.19 i686 - Unix: Live free
or die!
|>Geek by nature, Linux by choice, Debian of course.
|>If you can't apt-get it, it isn't useful or doesn't exist.
|>GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3
|>¿Sabe leer? Elimine mi firma de sus respuestas; sé quién soy ;)
|>
|>------------------------------------------------------------------------
|>Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
|>"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
|>"INFO caracas-pm-list" para conocer las reglas de etiqueta.
|>------------------------------------------------------------------------
|>
|
- --
__________________________________________________________________
Francisco Jose Obispo Semidey
System Administrator
ccTLD .VE Technical Contact - http://www.nic.ve
CNTI - REACCIUN - http://www.cnti.ve
Work: +58 212 709 5257
GPG Fingerprint: 23FE 02B7 2E9A 24DB 51F3 29CB 87CF 3C30 3236 D09D
___________________________________________________________________
MOTD:
Most people need some of their problems to help take their mind off
some of the others.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE+lxMRh888MDI20J0RAp7oAKDVwzaBB5EDM7/N8xMgEXlkMZ7Z2wCdGaVa
Gdq/xmhlOpxGm4g36mdPRuk=
=6p7m
-----END PGP SIGNATURE-----
------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------
More information about the caracas-pm
mailing list