• Publicidad

Problema para conectar BD

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema para conectar BD

Notapor Seth » 2011-09-22 18:54 @829

Ataraxia para todos en el lugar que se encuentren.

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.

Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <html>
  2.         <head></head>
  3.                 <body>Resultado<br>
  4.  
  5.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Archivo consulta.pl
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!\perl\bin -W
  2. use CGI qw/:all/;
  3. use lib('/Inetpub/wwwroot/cgi-bin/genecon/');
  4. use ConectarDB_O;
  5.  
  6. top_html();
  7.  
  8. my($dbh,$sth);
  9. $dbh=ConectarDB_O->connect();
  10. $sth=$dbh->prepare('SELECT * FROM REGISTRO WHERE nombre=?') or die("Error prepare: " . $dbh->errstr);
  11. $sth->execute("israel") or die("Error execute: " . $sth->errstr);
  12. my @nombre_completo = $sth->fetchrow_array();
  13. pon_consulta();
  14. $sth->finish;
  15. $dbh->disconnect;
  16. foot();
  17.  
  18.  
  19.  
  20. sub top_html(){
  21. print << "FIN";
  22. Content-type: text/html\n\n
  23. <html>
  24.         <head></head>
  25.                 <body>Resultado<br>
  26. FIN
  27. return;
  28. }
  29.  
  30. sub pon_consulta(){
  31. print << "FIN";
  32. @nombre_completo <br>
  33. FIN
  34. return;
  35. }
  36.  
  37. sub foot_html(){
  38. print << "FIN";
  39. <br/><br/></body>
  40. </html>
  41. FIN
  42. return;
  43. }
  44.  
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.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!\perl\bin -W
  2. package ConectarDB_O;
  3. use strict;
  4. use DBI;
  5.  
  6. # el usuario, clave y tabla tienen el mismo nombre,
  7. my $db_user = "digital1";
  8. my $db_pass = "digital1";
  9. my $host_name = "http://159.16.136.11/";
  10. my $db_name = "digital1";
  11. my $q_string = "DBI:Oracle:database=$db_name;host=$host_name;port=8087";
  12.  
  13. sub connect{
  14.  return (DBI->connect ($q_string, $db_user, $db_pass,
  15.  {PrintError => 0, RaiseError => 1}));
  16.  }
  17. 1;
  18.  
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.
Seth
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2004-07-15 15:25 @684
Ubicación: Mexico DF

Publicidad

Re: Problema para conectar BD

Notapor explorer » 2011-09-23 07:26 @351

Recuerda que los programas Perl se pueden ejecutar desde la línea de comandos. No es obligatorio usar un navegador web. Desde la línea de comandos se pueden ver errores que tenga el programa. Si quieres usar el navegador web, recuerda que los mensajes de error saldrán en los ficheros de actividad del servidor web (los ficheros log).

Otra forma es hacer sacar los errores en la propia ventana del navegador web. Para ello, solo tienes que agregar el módulo CGI::Carp tal y como aparece en mi CGI mínimo.

Otra cosa. En la línea 16, creo que lo tenías que haber escrito es
foot_html();
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados