ERROR GRAVE: Se actualizaron todos los registros de una tabla en SQL--URGENTE!!
Publicado por Manuel (1 intervención) el 24/10/2018 15:08:47
Buenos días,
Nunca había visto este tremendo problema en un programa hecho en VB6:
Todos los registros de una tabla de una base de datos MSSQL fueron actualizados como si VB6 le hubiese "pasado" toda la sentencia SQL al servidor, menos el WHERE.
Ejemplo:
Almaceno una sentencia básica en la variable string SQL_actualiza:
SQL_actualiza = "UPDATE TABLA SET campo1 = valor1 & _
campo2 = valor2 &_
campo3 = valor3 &_
...... & _
..... & _
...... &_
WHERE campoclave = valorclave"
Luego utilizo un connection object para ejecutar la sentencia (connection.execute SQL_actualiza)
Pero sorpresivamente, luego de 15 años funcionando correctamente, un día al parecer la sentencia se ejecutó e hizo caso omiso al WHERE provocando que todos los registros de la tabla se actualizaran
Notas: *Toda la sentencia está compuesta por 19 líneas separadas por & _.
*En total la cadena completa tiene aprox. 700 caracteres de longitud
*Estoy actualizando 36 campos en la tabla
Tiene 15 años funcionando bien y hace un par de días falló y se actualizaron todos los registros en vez de 1 solo.
¿Virus?
¿Problemas de red?
¿Bug de SQL?
¿Incompatibilidad de vb6 con alguna versión de windows server, sql server,etc?
Por favor, si alguien tiene alguna idea de lo que sucede, favor orientarme lo más pronto posible.
Gracias.
Nunca había visto este tremendo problema en un programa hecho en VB6:
Todos los registros de una tabla de una base de datos MSSQL fueron actualizados como si VB6 le hubiese "pasado" toda la sentencia SQL al servidor, menos el WHERE.
Ejemplo:
Almaceno una sentencia básica en la variable string SQL_actualiza:
SQL_actualiza = "UPDATE TABLA SET campo1 = valor1 & _
campo2 = valor2 &_
campo3 = valor3 &_
...... & _
..... & _
...... &_
WHERE campoclave = valorclave"
Luego utilizo un connection object para ejecutar la sentencia (connection.execute SQL_actualiza)
Pero sorpresivamente, luego de 15 años funcionando correctamente, un día al parecer la sentencia se ejecutó e hizo caso omiso al WHERE provocando que todos los registros de la tabla se actualizaran
Notas: *Toda la sentencia está compuesta por 19 líneas separadas por & _.
*En total la cadena completa tiene aprox. 700 caracteres de longitud
*Estoy actualizando 36 campos en la tabla
Tiene 15 años funcionando bien y hace un par de días falló y se actualizaron todos los registros en vez de 1 solo.
¿Virus?
¿Problemas de red?
¿Bug de SQL?
¿Incompatibilidad de vb6 con alguna versión de windows server, sql server,etc?
Por favor, si alguien tiene alguna idea de lo que sucede, favor orientarme lo más pronto posible.
Gracias.
Valora esta pregunta


0