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

Inserts masivos en MS access

Estas en el tema de Inserts masivos en MS access en el foro de Bases de Datos General en Foros del Web. Buenas! resulta que tengo una base de datos en access en un fichero a parte tengo algo más de 5000 registros que quiero insertar en ...
  #1 (permalink)  
Antiguo 22/12/2011, 03:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 12
Antigüedad: 17 años, 9 meses
Puntos: 0
Inserts masivos en MS access

Buenas!

resulta que tengo una base de datos en access en un fichero a parte tengo algo más de 5000 registros que quiero insertar en la tabla pero en access me dice que son demasiados para pegar en un fichero de consulta.

Entonces, me gustaría encontrar alguna forma de pasarlos a access. Se me había ocurrido pasarlo primero a excel pero no se exactamente como separar los campos porque mis registros tienen esta forma:

Código PHP:
INSERT INTO Tabla VALUES (1,'algo','algo','algo','algo','algo','algo','algo',1,
'algo','algo','algo','algo','algo',
'(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'2\', \'algo\'),(\'algo\', \'\', \'1\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\')',
'algo.','algo','algo',1); 
Si os fijáis el problema lo tengo en la tercera fila, y es que es un registro un poco complejo y no sabría como separarlo en excel.

También he intentado usar el ultraedit para sustituir por algún separador que sea más fácil pero no se me ocurre la forma, si algo tiene alguna idea...

Lo más fácil es usar access luego ya me las arreglo yo con el registro raro..

gracias por adelantado!!

Última edición por tigre; 22/12/2011 a las 05:25
  #2 (permalink)  
Antiguo 22/12/2011, 06:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 12
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Inserts masivos en MS access

Bueno... al final acabo de solucionarlo voy a poner aqui lo que he hecho para poder convertirlo en una hoja excel.

Posiblemente esto no le valga absolutamente a nadie pero como me he dejado la vida haciendolo pues lo pongo en el post :D

Todas estas modificaciones las hago con un reemplazar en el ultraedit, gran editor.

partimos de esto:

Código HTML:
INSERT INTO Tabla VALUES (1,'algo','algo','algo','algo','algo','algo','algo',1,'algo','algo','algo','algo','algo','(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'2\', \'algo\'),(\'algo\', \'\', \'1\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\')','algo.','algo','algo',1);
1) reemplazar

INSERT INTO Tabla VALUES ( por NADA

ahora tengo

Código HTML:
1,'algo','algo','algo','algo','algo','algo','algo',1,'algo','algo','algo','algo','algo','(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'algo\', \'algo\'),(\'algo\', \'\', \'2\', \'algo\'),(\'algo\', \'\', \'1\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\'),(\'algo\', \'\', \'\', \'algo\')','algo.','algo','algo',1);
2) reemplazar ),( por @

Código HTML:
1,'algo','algo','algo','algo','algo','algo','algo',1,'algo','algo','algo','algo','algo','(\'algo\', \'\', \'algo\', \'algo\'@\'algo\', \'\', \'algo\', \'algo\'@\'algo\', \'\', \'algo\', \'algo\'@\'algo\', \'\', \'2\', \'algo\'@\'algo\', \'\', \'1\', \'algo\'@\'algo\', \'\', \'\', \'algo\'@\'algo\', \'\', \'\', \'algo\'@\'algo\', \'\', \'\', \'algo\'@\'algo\', \'\', \'\', \'algo\')','algo.','algo','algo',1);
3) reemplazar \' por ¬
Código HTML:
1,'algo','algo','algo','algo','algo','algo','algo',1,'algo','algo','algo','algo','algo','(¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬2¬, ¬algo¬@¬algo¬, ¬¬, ¬1¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬)','algo.','algo','algo',1);
4) reemplazar ¬)' por ¬#'
Código HTML:
1,'algo','algo','algo','algo','algo','algo','algo',1,'algo','algo','algo','algo','algo','(¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬2¬, ¬algo¬@¬algo¬, ¬¬, ¬1¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬#','algo.','algo','algo',1);
5) reemplazar '(¬ por '#¬
Código HTML:
1,'algo','algo','algo','algo','algo','algo','algo',1,'algo','algo','algo','algo','algo','#¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬algo¬, ¬algo¬@¬algo¬, ¬¬, ¬2¬, ¬algo¬@¬algo¬, ¬¬, ¬1¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬@¬algo¬, ¬¬, ¬¬, ¬algo¬#','algo.','algo','algo',1);
6) reemplazar ¬, por $
Código HTML:
1,'algo','algo','algo','algo','algo','algo','algo',1,'algo','algo','algo','algo','algo','#¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬2$ ¬algo¬@¬algo$ ¬$ ¬1$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬#','algo.','algo','algo',1);
7) reemplazar ',' por ?
Código HTML:
1,'algo?algo?algo?algo?algo?algo?algo',1,'algo?algo?algo?algo?algo?#¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬2$ ¬algo¬@¬algo$ ¬$ ¬1$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬#?algo.?algo?algo',1);
8) reemplzar ,' por ?
Código HTML:
1?algo?algo?algo?algo?algo?algo?algo',1?algo?algo?algo?algo?algo?#¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬2$ ¬algo¬@¬algo$ ¬$ ¬1$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬#?algo.?algo?algo',1);
9) reemplzar ', por ?
Código HTML:
1?algo?algo?algo?algo?algo?algo?algo?1?algo?algo?algo?algo?algo?#¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬2$ ¬algo¬@¬algo$ ¬$ ¬1$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬#?algo.?algo?algo?1);
10) reemplazar ); por NADA
Código HTML:
1?algo?algo?algo?algo?algo?algo?algo?1?algo?algo?algo?algo?algo?#¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬2$ ¬algo¬@¬algo$ ¬$ ¬1$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬#?algo.?algo?algo?1
como esto lo he hecho para 5000 registros, guardo el fichero y lo importo desde excel y le digo que el separador de los campos es la interrogación,
no he usado como separador la coma porque resulta que cuando aparece el texto 'algo' significa una descripción y puede llevar comas.

Código HTML:
1
algo
...
#¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬algo$ ¬algo¬@¬algo$ ¬$ ¬2$ ¬algo¬@¬algo$ ¬$ ¬1$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬@¬algo$ ¬$ ¬$ ¬algo¬#
...
y ahora con mi registro conflicitivo, se ve rapidamente que lo tengo delimintado por #, si separo por la arroba@ me queda
Código HTML:
#¬algo$ ¬$ ¬algo$ ¬algo¬@
¬algo$ ¬$ ¬algo$ ¬algo¬@
¬algo$ ¬$ ¬algo$ ¬algo¬@
¬algo$ ¬$ ¬2$ ¬algo¬@
¬algo$ ¬$ ¬1$ ¬algo¬@
¬algo$ ¬$ ¬$ ¬algo¬@
¬algo$ ¬$ ¬$ ¬algo¬@
¬algo$ ¬$ ¬$ ¬algo¬@
¬algo$ ¬$ ¬$ ¬algo¬#

y ya puedo descomponer cada tag en lineas:
Código HTML:
¬algo$
¬$
¬1$
¬algo¬@

Gracias y saludos!!

Etiquetas: access, masivos, registros, tabla, campos
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:51.