[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