Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Insertar REMOTE_ADDR en DB ORACLE

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI
Mensaje Jue Ago 31, 2006 3:04 pm
romerodg
Perlero Nuevo
Perlero Nuevo
Registrado: 31 Ago 2006
Mensajes: 5
Insertar REMOTE_ADDR en DB ORACLE Responder citando

Hola,

Hice este script:

Perl:
#!/usr/local/bin/perl

use DBI;
use Oraperl;
$ENV{"ORACLE_HOME"} = "/opt/oracle/product/9.2.0";

$dbh = DBI-> connect("dbi:Oracle:host=algunhost;sid=algunsid", "schema", "secreto");
DBI-> errstr;

my $var =$ENV{"REMOTE_ADDR"};

$statement = "insert into some_table(column) values($var)";

$sth = $dbh->prepare($statement);
$rv = $sth->execute;

$sth->finish;

$dbh->disconnect;


Pero me larga un error:

Código:
DBD::Oracle::st execute failed: ORA-00936: missing expression (DBD ERROR: OCIStmtExecute) at line.......


El tema es que no se que puede ser. Lo que yo quiero es tomar el valor de la variable $var y guardarlo en la base.

Por favor, ayudenme.
Gracias de antemano.

Diego
Mensaje Jue Ago 31, 2006 6:34 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4212
Ubicación: Valladolid, España
Responder citando

Según la web de fallos de Oracle, a la expresión la falla algo. Sospecho que la variable $var no tiene un valor válido cuando llega a la expresión prepare y column requiere que sea no nulo.
Mensaje Vie Sep 01, 2006 7:10 am
romerodg
Perlero Nuevo
Perlero Nuevo
Registrado: 31 Ago 2006
Mensajes: 5
Responder citando

Enteoria, tendria que tomar el valor de la variable REMOTE_ADDR que supuestamente es la direccion ip de quien visita la pagina. El lugar donde se guardaria esa variable (o sea, $var) en la base de datos, es un campo varchar, por lo que $var tiene que ser un string. No sera que hay que decirle que var es de tpo string?.
Quiero saber si esta bien la declaracion de $var, porque vi en varios lados declaraciones distintas para tomar el valor de la IP. Creo que la declaracion del insert esta bien.
Por favor, ayudenme.
Gracias.
Mensaje Vie Sep 01, 2006 7:14 am
romerodg
Perlero Nuevo
Perlero Nuevo
Registrado: 31 Ago 2006
Mensajes: 5
Responder citando

Amigos,

Ya lo arregle: le faltaba las comillas simples a $var en la declaracion del insert, tiene que ser values ('$var').

Jeje, ahora que manejo perl con la base no me para nadie.
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group