• Publicidad

Insertar REMOTE_ADDR en DB ORACLE

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Insertar REMOTE_ADDR en DB ORACLE

Notapor romerodg » 2006-08-31 16:04 @711

Hola,

Hice este script:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/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;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Pero me larga un error:

Código: Seleccionar todo
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
romerodg
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-08-31 15:33 @690

Publicidad

Notapor explorer » 2006-08-31 19:34 @857

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor romerodg » 2006-09-01 08:10 @382

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.
romerodg
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-08-31 15:33 @690

Notapor romerodg » 2006-09-01 08:14 @385

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.
romerodg
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-08-31 15:33 @690


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado