=?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