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

consulta sql server ( bulk insert)

Estas en el tema de consulta sql server ( bulk insert) en el foro de SQL Server en Foros del Web. Hola amigos tengo la siguiente consulta, para mi actividad terminal necesito importar datos desde excel a sql sever, lo he logrado hacer manualmente pero me ...
  #1 (permalink)  
Antiguo 09/11/2010, 09:22
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta consulta sql server ( bulk insert)

Hola amigos tengo la siguiente consulta,
para mi actividad terminal necesito importar datos desde excel a sql sever,
lo he logrado hacer manualmente pero me piden q sea de forma automatica
he leido quen se puede con algo llamado Bulk Insert lo cual realmente desconozo
y en la red no existe mucha información explicita.

agradeseré cualquier aporte.

gracias.
  #2 (permalink)  
Antiguo 09/11/2010, 09:49
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta sql server ( bulk insert)

Aqui hay muchos ejemplos: http://www.forosdelweb.com/search.php?searchid=3364204
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 09/11/2010, 09:50
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta sql server ( bulk insert)

Código:
INSERT INTO tabla
  (campos)
    SELECT *
      FROM  OPENROWSET(BULK  'Tu archivo',--File that are procesed
      FORMATFILE='Archivo de formato',--Format file, that file contains the info of the columns that are used in the fill of the table	  	
	  FIRSTROW = 2 --Row where the info start
       ) as t1
Asi es como harias un bulk insert con un archivo de datos y un archivo de formato, el archivo de formato contiene cosas como el tipo de separador a utilizar y el terminador de tu archivo ya si no tienes archivo de formato con esto puedes hacer el bulk insert:

Código:
bulk insert tabla from 'path file' --path of the file in the server
WITH 
      (
		--Character that delimites the field in the file
         FIELDTERMINATOR =',',
		--character that delimites the row in the file
         ROWTERMINATOR ='\n'
      )
Saludos!
  #4 (permalink)  
Antiguo 09/11/2010, 09:55
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

pero esto me permitirá rescatar los datos automaticamente ?
  #5 (permalink)  
Antiguo 09/11/2010, 09:56
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

haha a todo esto gracias por ayudarme :D
  #6 (permalink)  
Antiguo 09/11/2010, 12:57
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta sql server ( bulk insert)

Pues con esto puedes hacerlo automatico, digo puedes usar las instrucciones de SQL con un batch y lo pones todo en un schedule task que se ejecute cada cierto tiempo y asi lo tiemes automatico :)

Saludos!
  #7 (permalink)  
Antiguo 09/11/2010, 14:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

Cita:
Iniciado por Libras Ver Mensaje
Pues con esto puedes hacerlo automatico, digo puedes usar las instrucciones de SQL con un batch y lo pones todo en un schedule task que se ejecute cada cierto tiempo y asi lo tiemes automatico :)

Saludos!
amigo pero donde puedo encontra informacion de como hacerlo,
soy nuevo en esto.

muchas gracias por responder. :D
  #8 (permalink)  
Antiguo 10/11/2010, 08:44
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

Cita:
Iniciado por flaviovich Ver Mensaje
Aqui hay muchos ejemplos: [url]http://www.forosdelweb.com/search.php?searchid=3364204[/url]


este link esta malo

gracias de todos modos.
  #9 (permalink)  
Antiguo 10/11/2010, 08:55
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta sql server ( bulk insert)

Usa el motor de busqueda: http://www.forosdelweb.com/search.php?f=87
ahi pones BULK INSERT, y veras cuantos ejemplos hay.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #10 (permalink)  
Antiguo 10/11/2010, 10:44
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

Cita:
Iniciado por flaviovich Ver Mensaje
Usa el motor de busqueda: [url]http://www.forosdelweb.com/search.php?f=87[/url]
ahi pones BULK INSERT, y veras cuantos ejemplos hay.
ya lo he hecho amigo
pero en ningun lugar dice como hacerlo automaticamente ( osea periodicamente)

gracias por tu aporte de todos modos.
  #11 (permalink)  
Antiguo 10/11/2010, 11:05
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta sql server ( bulk insert)

Has oido hablar sobre los jobs?
Estos te permiten programar tareas, las cuales se ejecutaran con la periodicidad que tu elijas.
Lee y despues nos comentas como te va con los jobs.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #12 (permalink)  
Antiguo 11/11/2010, 08:59
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

Cita:
Iniciado por flaviovich Ver Mensaje
Has oido hablar sobre los jobs?
Estos te permiten programar tareas, las cuales se ejecutaran con la periodicidad que tu elijas.
Lee y despues nos comentas como te va con los jobs.

gracias flaviovich he encontrado ya la forma de crear una tarea programada :D
el bulk insert tambien lo realizo ya :D
han sido varias noches de lectura jejeje
intentaré hacer las 2 cosas juntas
y ver como me resulta
y luego te comento.

gracias ;)
  #13 (permalink)  
Antiguo 12/11/2010, 09:19
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

Cita:
Iniciado por flaviovich Ver Mensaje
Has oido hablar sobre los jobs?
Estos te permiten programar tareas, las cuales se ejecutaran con la periodicidad que tu elijas.
Lee y despues nos comentas como te va con los jobs.
Don Flaviovich logre hacer el bulk insert automaticamente pero solo desde un txt, estoy buscando la razon por la cual mi excel no quiere guardar csv separado por comas xD

sin elafan de aprovecharme de tu experiencia
me gustaria saber si existe una forma para importar el excel directamente, aparte del wizard o si existe alguna forma de programar el wizard :D

de antemano gracias.
  #14 (permalink)  
Antiguo 12/11/2010, 09:43
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta sql server ( bulk insert)

Para sacar el csv hay una opcion en excel desde guardar como...

Saludos!
  #15 (permalink)  
Antiguo 12/11/2010, 09:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

Cita:
Iniciado por Libras Ver Mensaje
Para sacar el csv hay una opcion en excel desde guardar como...

Saludos!
acabo de arreglar eso poniendo en mi configuracion regional idioma ingles :D
  #16 (permalink)  
Antiguo 12/11/2010, 10:00
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta sql server ( bulk insert)

Sobre eso hay mucho:
http://www.forosdelweb.com/f87/como-...server-589621/
http://support.microsoft.com/kb/321686
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #17 (permalink)  
Antiguo 14/11/2010, 17:33
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

sigo con algunos problemas
alguna alma de buena voluntad

jaja
lo q pasa es q no tengo experiencia con sql server entonces todo me complica :(
he escuchado mil respuestas a lo que debo hacer
pero realmente estoy complicado,
el bulk insert ya lo hago
pero para rescatar directamente y cosas
me complico y por mas q leo nada es especifico :(

saludos
  #18 (permalink)  
Antiguo 14/11/2010, 17:51
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: consulta sql server ( bulk insert)

Muéstranos tu código.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #19 (permalink)  
Antiguo 14/11/2010, 21:10
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

pero amigo solo tengo el codigo del bulk insert q para ti es un juego de niños :(

si logro importar tablas por bulk insert
pero esto no es lo mio :(
  #20 (permalink)  
Antiguo 15/11/2010, 13:03
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta sql server ( bulk insert)

Cual es tu duda, o que es lo que no logras hacer?
  #21 (permalink)  
Antiguo 16/11/2010, 09:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta sql server ( bulk insert)

Cita:
Iniciado por Libras Ver Mensaje
Cual es tu duda, o que es lo que no logras hacer?
Gracias libras :)
mira amigo explico un poco tengo muchos datos en excel, un ejemplo facil es el siguiente
tengo una tabla llamada año(AGNO)
la cual contiene los siguientes datos:


Codigo-Agno
2005
2006
2007
2008
2009
2010

esos datos estan en excel(xml) cierto
lo q yo necesito es lograr hacer que esos datos se importer periodicamente a mi base de datos.

porque cuando sea 2011 ejemplo habrá un nuevo año ingresado en mi excel, entonces con importarlo automaticamente cada 1 semana por ejemplo se lograria tener los datos actualizados en la base de datos.


y tambien deberia buscar una forma de validar que si se intenta importar la tabla Agno y contiene un nuevo agno 2009 me muestre error.

vez??
y com soy nuevo en esto me cuesta demaciado
quizas para uds es como quitarle un dulce a un bebe jejeje
gracias ;)
  #22 (permalink)  
Antiguo 24/11/2010, 12:49
Avatar de Inicia  
Fecha de Ingreso: octubre-2010
Ubicación: Actualmente en GDL
Mensajes: 135
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: consulta sql server ( bulk insert)

Este es el código del bulk insert, yo también estoy buscando como hacerlo automático y estoy buscando información de como crear un job, si sabes como hacer que se ejecute periódicamente el bulk insert hazmelo saber por favor :)

Código SQL:
Ver original
  1. BULK INSERT callsp
  2. FROM '\\ruta donde se encuentra el archivo\prueba\dr_sql.csv'
  3. WITH(DATAFILETYPE ='char',
  4. FIELDTERMINATOR =',',--separador
  5. ROWTERMINATOR = '\n',--separador
  6. FIRSTROW = 2 --- este es para comnezar que línea debe comenzar a cargar porq mi primera línea del archivo son títulos y no me sirve que los cargue
  7. )

Avisame si sabes como ejecutarlo automáticamente y periódicamente :) yo = saluditos!
  #23 (permalink)  
Antiguo 24/11/2010, 13:42
Avatar de Inicia  
Fecha de Ingreso: octubre-2010
Ubicación: Actualmente en GDL
Mensajes: 135
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: consulta sql server ( bulk insert)

Esta super sencillo crea un job y dale horarios para ejecutar y pon el comando :) para insetar el q pase anteriormente y listo! ejecuta solo modifica propiedades

Etiquetas: bulkinsert, bases-de-datos
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 03:40.