El siguiente mensaje es para pedir apoyo para conectarme a una tabla de una base de datos de Oracle, seguí el tutorial http://perlenespanol.com/tutoriales/bases_de_datos/como_conectarte_a_tu_database.html y no me funciono, por ahí algo pasó. ¿Alguien puede orientarme?
El equipo donde intento crear el ejemplo tiene el siguiente software instalado:
- Windows 7
IIS
Activeperl
Oracle Express edition 10g
Modulo DBD-Oracle 1.24b
Sé bien que no es una plataforma Unix, pero el intento se hace.
Lo que obtengo al ejecutar el archivo consulta.pl en el navegador es solo la página en blanco con el siguiente código HTML.
Using html4strict Syntax Highlighting
- <html>
- <head></head>
- <body>Resultado<br>
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Archivo consulta.pl
Using perl Syntax Highlighting
- #!\perl\bin -W
- use CGI qw/:all/;
- use lib('/Inetpub/wwwroot/cgi-bin/genecon/');
- use ConectarDB_O;
- top_html();
- my($dbh,$sth);
- $dbh=ConectarDB_O->connect();
- $sth=$dbh->prepare('SELECT * FROM REGISTRO WHERE nombre=?') or die("Error prepare: " . $dbh->errstr);
- $sth->execute("israel") or die("Error execute: " . $sth->errstr);
- my @nombre_completo = $sth->fetchrow_array();
- pon_consulta();
- $sth->finish;
- $dbh->disconnect;
- foot();
- sub top_html(){
- print << "FIN";
- Content-type: text/html\n\n
- <html>
- <head></head>
- <body>Resultado<br>
- FIN
- return;
- }
- sub pon_consulta(){
- print << "FIN";
- @nombre_completo <br>
- FIN
- return;
- }
- sub foot_html(){
- print << "FIN";
- <br/><br/></body>
- </html>
- FIN
- return;
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
En el archivo ConectarDB_O.pm el $host_name especifico un IP estática por carecer de dominio, puesto que el equipo pertenece a una Intranet.
Using perl Syntax Highlighting
- #!\perl\bin -W
- package ConectarDB_O;
- use strict;
- use DBI;
- # el usuario, clave y tabla tienen el mismo nombre,
- my $db_user = "digital1";
- my $db_pass = "digital1";
- my $host_name = "http://159.16.136.11/";
- my $db_name = "digital1";
- my $q_string = "DBI:Oracle:database=$db_name;host=$host_name;port=8087";
- sub connect{
- return (DBI->connect ($q_string, $db_user, $db_pass,
- {PrintError => 0, RaiseError => 1}));
- }
- 1;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Como se darán cuenta no tengo mucha experiencia en este genial lenguaje. Gracias a todos por su atención y su conocimiento.