none
insert masivo desde archivo de texto

    General discussion

  • Hola y buenos días.

    Un cliente me ha pasado un script  (.sql) es un archivo de texto que son puros: insert into tabla  values... (un insert por cada linea del archivo, con un punto y coma ";" al final de cada linea)

    El inconveniente es que el archivo pesa casi 350 Mb (si, son muchos registros)

    Y aunque tengo la tabla correctamente creada, no puedo lograr abrir el archivo con el SQL Server Management Studio (por el gran tamaño del archivo me da error al ejecutar el contenido del archivo)

    He tratado de insertarlo usando SLQCMD desde la linea de comando, pero es probable que el archivo le falta alguna coma o tiene un error de sintaxis y el SQLCMD no me indica la linea donde esta el error.

    El error es lo de menos, puedo irme a pie y tratar de arreglarlo, pero otro archivo tambien pesado en tamaño que no contienen errores de sintaxis, no puedo lograr agregarlo a la BD con SQLCMD por el gran tamaño del archivo.

    Existe alguina herramienta que me permita manejar esta tipo de insert en archivos de gran tamaño...?, porque me urge subir la informacion a la BD.

    Uso SQL Server 2008 R2 Express (ya lo probé con SQL Standard 2008 e igual me da error)

    Gracias.

     

     


    Edward Ocando
    Mi blog
    ocando@hotmail.com
    Desarrollador: VB .NET, C# Visual FoxPro, PHP, JavaScript, Ajax, MS SQL, mySQL.
    Friday, January 14, 2011 1:43 PM

All replies

  • Oscar, no es nada recomendable usar un .sql con millones de inserts. No es muy eficiente.

    Para cargas masivas se suele usar el bulk insert, que es un comando de SQL Server.  Te mando el link:

    http://msdn.microsoft.com/es-es/library/ms188365.aspx

    Basicamente, es un archivo plano con los datos que es importado en la base de datos.

    Otra herramienta que se usa es el bcp, que es para importar y exportar datos en SQL Server:

    http://msdn.microsoft.com/es-es/library/ms162802.aspx

    Estudialos para que tu cliente te pase en este formato. Son tecnologías justamente hechas para evitar los problemas que enfrentas ahora.

     


    MVP MCT MCTS Daniel Calbimonte

    http://elpaladintecnologico.blogspot.com
    Friday, January 14, 2011 7:54 PM
  • Estoy deacuerdo con tigo, pero no hay manera de recuperar el respaldo en otro formato ya que la base de datos original fue borrada y lo único que hay es ese archivo de tipo .sql

     

    Es por eso que pido la ayuda, no tengo otro origen disponible para los datos.

     

    Alguna sugerencia...?

     

    Gracias


    Edward Ocando
    Mi blog
    ocando@hotmail.com
    Desarrollador: VB .NET, C# Visual FoxPro, PHP, JavaScript, Ajax, MS SQL, mySQL.
    Friday, January 14, 2011 8:18 PM
  • Edward, tengo un archivo de 2.6 gigas para hacerle un bulk, recomendatoria este proceso con un bulk o conoce otra forma mas optima.
    Thursday, April 26, 2012 4:18 PM
  • Hola.

    Bulk es el ideal para la carga masica de datos, al menos desde una aplicacion.

    Pero si tienes alguna opcion pacar convertir la informacion e importarla es mucho mejor.

    Ya que supongo que solo lo importaras una sola vez.

    Saludos.

    Thursday, April 26, 2012 4:55 PM