• Publicidad

Problema de consulta SQL desde script Perl

Todo acerca de las bases de datos que existen: SQL, MySQL, Oracle, Postgres, CSV, etc.

Problema de consulta SQL desde script Perl

Notapor jero2528 » 2014-11-19 08:20 @389

Saludo cordial a toda la comunidad.

Quisiera que por favor me ayuden a entender por qué estoy teniendo el siguiente error:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. DBD::mysql::db selectall_arrayref failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and DEVICE='ROUTER7206z1' and IPDEVICE='10.0.120.1' and INTERFACE='FastEtherne' at line 1 at /home/mydirectory/scripts_pruebas/ws/services_to_reactivate.pl line 62.
  2.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Estoy usando este trozo de código sobre la línea que indica el error:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $query_glpi = "SELECT IDHOST, DEVICE, IPDEVICE, INTERFACE, DESCR, CONF, LOCATION, DATE, TYPE, SERVICEID, FABRICANTE ";
  2. $query_glpi.= "FROM noglpi_suspended_interface_dactool WHERE SERVICEID=$SERVICEIDQ and DEVICE='$DEVICE' and IPDEVICE='$IPDEVICE' and INTERFACE='$INTERFACE'
  3. order by DATE desc limit 1 \n";
  4. $r_query_glpi = $mysql_glpi01->selectall_arrayref("$query_glpi");
  5. foreach $row_r_query_glpi (@$r_query_glpi) {
  6. ($IDHOST, $DEVICE, $IPDEVICE, $INTERFACE, $DESCR, $CONF, $LOCATION, $DATE, $TYPE, $SERVICEID, $FABRICANTE) = @$row_r_query_glpi;
  7. #Aquí hay otras actividades que se realizan de acuerdo a la consulta anterior.
  8. }
  9.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


La base de datos a la cual se conecta es una mySQl, probé haciendo la consulta sobre el motor y funciona perfecto, pero desde el script no funciona, creo que el problema esta en el parámetro interfaz, cuyo valor es: FastEthernet1/0.400
pero no estoy seguro, le he hecho de todo pero no funciona, agradezco la colaboración de alguno de ustedes :)


Saludos,
Última edición por explorer el 2014-11-19 08:25 @392, editado 1 vez en total
Razón: porque => por qué; Codigo => código; linea => línea; Aqui => Aquí;
Saludos,

Jero2528
Avatar de Usuario
jero2528
Perlero nuevo
Perlero nuevo
 
Mensajes: 50
Registrado: 2014-05-14 15:43 @697
Ubicación: Bogota, Colombia

Publicidad

Re: Problema de consulta SQL desde script Perl

Notapor explorer » 2014-11-19 08:23 @391

Rodea la variable $SERVICEIDQ con comillas simples, igual a como tienes las demás.

El error vendrá, seguramente, de que esa variable está vacía, y por eso la sintaxis de la SQL no es correcta.
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

Re: Problema de consulta SQL desde script Perl

Notapor jero2528 » 2014-11-19 14:20 @639

Muchas gracias, explorer.

Ahora tengo otro mensaje :(

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. DBD::mysql::st execute failed: Column count doesn't match value count at row 1 at /home/eherrera/scripts_pruebas/wsDactool/services_to_reactivate.pl line 105.
  2.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


El INSERT es el siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $query="insert into noglpi_reactivated_interface_ VALUES (550, '95684', 'ROUTER7206x1', '10.0.120.1', 'FastEthernet1/0.400', '9564 #- PREMIUM_IP #- 2048KB_VID:400 #- 34697_AV SALT CAN #- DIAG 97 # ABCDE #- REDI #- PRUEBA', ' description 9564 #- ETERNET #- 2048KB_VID:400 #- 34697_AV SALT CAN  #- DIAG 97 # ABCDE #- REDI #- PRUEBA
  2. encapsulation dot1Q 400
  3. ', 'CANADA', '2014-11-19 15:37:52', 'Cisco', now())";
  4.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Muchas gracias, :)
Saludos,

Jero2528
Avatar de Usuario
jero2528
Perlero nuevo
Perlero nuevo
 
Mensajes: 50
Registrado: 2014-05-14 15:43 @697
Ubicación: Bogota, Colombia

Re: Problema de consulta SQL desde script Perl

Notapor explorer » 2014-11-19 14:46 @657

El número de columnas que estás insertando no corresponde con el de la tabla. Yo cuento 11 columnas.
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

Re: Problema de consulta SQL desde script Perl

Notapor jero2528 » 2014-11-19 15:52 @702

Totalmente cierto, muchas gracias, explorer :)
Saludos,

Jero2528
Avatar de Usuario
jero2528
Perlero nuevo
Perlero nuevo
 
Mensajes: 50
Registrado: 2014-05-14 15:43 @697
Ubicación: Bogota, Colombia


Volver a Bases de datos

¿Quién está conectado?

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