[Perl] Oracle && Mason

Valentin Ortiz Ferretiz vortiz@vera.net
25 Mar 2002 16:00:03 -0600


Ke tal chavos...


Lo que quiero hacer es que la conexion a la base de datos y los prepares
se hagan solo una vez. Ke no se genere un objeto de tipo
COracleConnection cada vez que acceso al sitio.

intente algo como esto en el index.html

<& test_comp,$oOraConn &>

<%once>
use OracleDBI;  #Modulo que contiene la clase para accesar a la BD y la
definicion de los cursores (queries) a la BD.

  my COracleConnection $oOraConn;  #Named Variable
  $oOraConn =3D  COracleConnection -> new('dbuser','dbpass','sid','host');
# Creo un objeto el cual contiene una conexion a Oracle .

  $oOraConn->OpenMasonDemo(); #Cargo solo los cursores que voy a
utilizar.
</%once>


<%init>
  $oOraConn->{sel_LPPA}->execute('3322'); #Ejecuto query definido en el
m=F3dulo OracleDBI
</%init>

<%cleanup>
  $oOraConn->DISTROY();
</%cleanup>


=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D y el componente test_comp =
tiene lo siguiente =3D=3D=3D=3D=3D=3D=3D=3D=3D

<h1>Contenido de data:=20
%  while((@mData) =3D $oOraConn->{sel_LPPA}->fetchrow_array()){
    Dato1: <% $mData[0] %>  Dato2: <% $mData[1] %><br>
%  }=20
</h1><br>

<%init>
  my $oOraConn =3D shift;
  my @mData;

  $m->out("<br>Recib=ED: $oOraConn<br>");
</%init>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Cabe mencionar que soy nuevo en esto de Mason y esta es mi primer
prueba.
Me di cuenta que cada vez que acceso al index.html con un navegador, se
va consumiendo la memoria hasta que se practicamente se la termina.=20

En la documentacion de Mason dice que la conexion a la BD debe de ir en
<%init> pero como hacer para que dicha conexion tenga persistencia?

Sugerencias, quejas, chistes y/o comentarios please=20

--=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Valentin Ortiz Ferretiz
   Reco S.A. de C.V.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Key fingerprint =3D E2E7 5691 79C9 8B15 CC6B  6DC7 F2F1 DA03 1350 9640