Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ejecutar varios INSERT desde ASP, Imposible??

Estas en el tema de Ejecutar varios INSERT desde ASP, Imposible?? en el foro de Mysql en Foros del Web. Buenas a todos, Llevo un par de dias intentando hacer esto y buscando por todos los lados y haciendo mil pruebas pero no encuentro nada. ...
  #1 (permalink)  
Antiguo 24/05/2009, 13:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Ejecutar varios INSERT desde ASP, Imposible??

Buenas a todos,

Llevo un par de dias intentando hacer esto y buscando por todos los lados y haciendo mil pruebas pero no encuentro nada.

La cosa es, tengo que ejecutar varias consultas INSERT desde ASP en una bd mysql, mas o menos asi:

INSERT INTO TBL (NUMERO, FECHA, IMPORTE) values (100, 25/04/2009, 125.32);INSERT INTO TBL (NUMERO, FECHA, IMPORTE) values (101, 25/04/2009, 125.32); INSERT INTO TBL (NUMERO, FECHA, IMPORTE) values (102, 25/04/2009, 125.32); INSERT INTO TBL (NUMERO, FECHA, IMPORTE) values (103, 25/04/2009, 125.32);

Bueno la cuestion es, que de una en una las sql van bien, pero si las guardo en un string:
SQL = "INSERT INTO TBL(NUMERO..... ; INSERT INTO TBL (NUMERO..... ; INSERT INTO TBL (NUMERO..... ;"

Me devuelve el siguiente error:
MySQL][ODBC 5.1 Driver][mysqld-5.1.30-community]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 'INSERT INTO....

He probado a insertar el caracter VbCRLF entre consulta y consulta para hacer un salto de línea y tampoco va.... ya toy desesperado.

Si no queda otra pues tendré que ejecutar las SQL de una en una según las vaya generando el array en el que están, pero weno... si se puede asi mejor.

Un saludo a todos
  #2 (permalink)  
Antiguo 24/05/2009, 13:43
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

Prueba así:


Código mysql:
Ver original
  1. insert into tabla values(campo1,campo2),(campo1,campo2),(campo1,campo2);

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 24/05/2009, 13:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

Buenas,

gracias por responder tan rápido, la historia es que el array que tengo creado me genera una sql completa cada vez, es decir, yo tengo puesto:

sql = sql + "INSERT INTO TBL(NUMERO..... ; "

sql = sql + "INSERT INTO TBL(NUMERO..... ; "

sql = sql + "INSERT INTO TBL(NUMERO..... ; "

Porque los values mel os coge de un fichero de texto separado por tabulaciones que voy separando en el array
  #4 (permalink)  
Antiguo 24/05/2009, 14:01
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

La cuestion de ejecutar todas a la vez es que como son muchas, no quiero que si por ejemplo hay un error en una del medio , haya ejecutado ya las anteriores y me quede el proceso a medias.
  #5 (permalink)  
Antiguo 24/05/2009, 14:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

Tomate el trabajo de volver a crear el código que genera ese array para implementarlo del modo que te dice huesos52. Es la forma correcta.
Cualquier otra cosa es perder el tiempo.
Si estás trabajando con un Dataset o un Datatable, hay un código muy corto que te permite hacer eso sin demasiadas complicaciones y debe tener una veintena de líneas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 24/05/2009, 15:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

Buenas,

La cuestion es que cada insert tiene 49 campos con 49 valores.
Si no queda otro remedio, pues lo reharé.

Hay algun otro modo de importar un txt a mysql ke sea mas sencillo?

Salu2
  #7 (permalink)  
Antiguo 24/05/2009, 16:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

Si. Con LOAD DATA INFILE.
Si creas un método que cargue dinámicamente la consulta, podrías hacerlo bastante simple... Mira esto: Colaboracion
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 24/05/2009, 16:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

Muchas Gracias gnzsoloyo,

Voy a estudiar la posibilidad de hacerlo con el load data infile, ya que yo utilizo asp tradicional, todavia no me he puesto con el .NET y esto es una aplicación entera hecha en asp y migrar todo supondría mucho tiempo que no dispongo por desgracia.

De todas formas no descarto seguir como iba con el array de los campos y el Insert

Un Saludo
  #9 (permalink)  
Antiguo 24/05/2009, 16:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

El esquema posteado en ese link, es aplicable perfectamente para tu caso si haces las modificaciones correctas.
Fíjate que la clave de todo es un simple FOR/NEXT que genera los bloques de registros a cargar, y una variable que se usa para controlar cuantos van por ejecución.
Toma el código y mira cómo lo escribirías tu para usarlo con un array. Te va a funcionar igual.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 24/05/2009, 17:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Ejecutar varios INSERT desde ASP, Imposible??

Voy a seguir investigando, que vaya tela tiene esto, es que encima tengo que dar formato a los campos y lo iba a hacer a la vez que importo de txt a mysql, pero estoy pensando que lo voy a meter todo como varchar a una tablatemporal y luego desde ahí lo distribuyo a las tablas que van dandolo el formato.

Muchas gracias por la ayuda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:39.