7
« en: Miércoles 17 de Agosto de 2005, 14:55 »
Buenos dias a todos!! Tengo un problemilla como dira Flanders.......
Bueno estoy haciendo un programita que tiene que varios hilos (1 a 2000 ) dependiendo los clientes y necesito usar una misma conexion a la base de datos ya
que oracle se enfadaria mucho si abro una conexion por cada hilo!
Los hilos de mi programa con una conexion por hilo funciona bien pero como lo dije
antes no es factible.
Cuando usamos la misma conexion para todos los hilos sale el siguiente error ( por supuesto!!)
(handles can't be shared between threads and your driver may need a CLONE method added )
Esta claro, pero aqui va el problema, no conozco ningun metodo CLONE para oracle en perl. Buscando un poquito encontre lo que parecia la solucion .... ora_dbh_share
que segun la documentacion me permitira compartir una conexion entre mis hilos.
El ejemplo que encontre de conexion es el siguiente
our $orashr : shared = '' ;
$dbh = DBI->connect ($dsn, $user, $passwd, {ora_dbh_share => \$orashr}) ;
Muy simple, pero ..... no funciona. Me da errores de compilacion cuando lo pongo en mi programa
our $ops : shared = '' ;
$dbh = DBI->connect("dbi:Oracle:xxxl","xxx/xxx", { ora_dbh_share => \$ops } ) or die " Not concected tu oracle\n";
El pedacito de codigo { ora_dbh_share => \$ops } es como si no lo reconociera como parte del DBI-> connect.
Busque ejemplos en internet pero nada, solo trae muy pocas paginas que muestran el mismo ejemplito de conexion pero nada que pueda usar.
Si alguien tiene algo que me pueda ayudar les agradeceria enormemente.
Saludos