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

BULK INSERT, como importo datos a 1 tabla que ya posee informacion sin reemplazar

Estas en el tema de BULK INSERT, como importo datos a 1 tabla que ya posee informacion sin reemplazar en el foro de SQL Server en Foros del Web. Amigos, buenas noches, Deseo hacerles una consulta. Estoy trabajando con SQL Server 2005 Express y estoy utilizando el bulk insert para importar información de una ...
  #1 (permalink)  
Antiguo 09/05/2011, 22:56
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta BULK INSERT, como importo datos a 1 tabla que ya posee informacion sin reemplazar

Amigos, buenas noches,

Deseo hacerles una consulta.

Estoy trabajando con SQL Server 2005 Express y estoy utilizando el bulk insert para importar información de una aplicacion que me guarda en txt.

Por motivos de relaciones entre las tablas que poseo en mi base de datos tuve que agregar dos columnas a la tabla "Datos" que es donde yo guardo mi información txt.

Mi pregunta es, existe la sentencia o comando en BULK INSERT para que la información del txt sea guardada desde la tercera columna de mi tabla "Datos"?? Ya que las dos primeras columnas ya posee información almacenada.

Antes de crear estas dos columnas funcionaba perfectamente mi bulk insert pero ahora como ya no coinciden con el # total de columnas, no me funciona.

Que puedo hacer en este caso? Muchas gracias por su atención y quedo atento a cualquier comentario.
  #2 (permalink)  
Antiguo 10/05/2011, 07:53
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: BULK INSERT, como importo datos a 1 tabla que ya posee informacion sin ree

Si lo que quieres es meter nada mas 1 columna de tu tabla a un archivo de bulk insert puedes hacerlo, nada mas necesitas modificar el archivo de formato para tu tabla, checate la liga que te pongo.


http://technet.microsoft.com/es-es/l.../ms188365.aspx


Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 10/05/2011, 21:15
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Respuesta: BULK INSERT, importar datos

Gracias por tu respuesta Libras.

Pero en sí lo que deseo hacer es lo siguiente:

Poseo una tabla llamada "Datos" dentro de esta se encuentran 30 columnas.
Las dos primeras son Id_datos y Id_nombre y las otras 28 columnas son datos que me arroja una aplicacion que poseo internamente

Guardo los datos de mi aplicacion en un txt, el cual posee la información de las 28 columnas antes mencionadas sin ningun problema.

Quiero utilizar el BULK INSERT para importar los datos del txt pero quiero que estos datos (28 columnas) se vayan guardando desde la tercera columna de mi tabla Datos, para que no me de error de coincidencia en el # de columnas de la tabla, ya que las 2 primeras columnas ID_datos y Id_nombre contiene información que se genera automaticamente.

No se si me pudiste entender de mejor manera.
Oajala me puedas ayudar con esto por favor.

Muchas gracias por la atención.
  #4 (permalink)  
Antiguo 11/05/2011, 07:26
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: BULK INSERT, como importo datos a 1 tabla que ya posee informacion sin ree

Sip nada mas generarias tu archivo con 28 columnas las que necesitas y para estos necesitas verificar el archivo de formato con el que obtienes tu informacion, para que nada mas mandes esas 28 columnas y no afecte tu otra tabla
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 11/05/2011, 21:25
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Respuesta: BULK INSERT, como importo datos a 1 tabla que ya posee informacion sin ree

Amigo Libras disculpa mi ignorancia pero no entendi muy bien lo que me recomiendas. No tengo mucha experiencia con SQL SERVER

Este codigo que me indicas lo debo ingresar en mi codigo del BULK INSERT o como debería hacer?

Mi codigo para importar mis 28 columnas al txt que poseo es el siguiente:

BULK INSERT Datos FROM 'C:\archivotexto.txt'
WITH
(FIELDTERMINATOR = '\t'
ROWTERMINATOR = '\n'
FIRSTROW = 2)

No se que sentencia adicional podría utilizar para que mis 28 columnas se vayan guardando desde la 3ra columna (Fecha) de mi tabla Datos, ya que tengo 2 columnas al inicio de mi tabla pero estas columnas ya contiene información guardada.

Ejemplo:

Tabla Datos
Id_Datos__Id_Estacion__Fecha___Hora__Temperatura___etc
100 ABC 12/05/2011 12:00 32 grados

Las columnas Id_datos y Id_Estacion guardan información automaticamente y lo que yo deseo realizar es guardar mis 28 columnas del txt desde la columna Fecha para no tener error al momento de ejecutar la sentencia.

De antemano agradezco mucho tu gentil ayuda e interes en resolver mi problema.
  #6 (permalink)  
Antiguo 12/05/2011, 07:25
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: BULK INSERT, como importo datos a 1 tabla que ya posee informacion sin ree

Puedes hacerlo de esta manera:

insert into tu_tabla
(campos de tu tabla)
select campos de tu archivo
from openrowset(bulk "ruta_archivo",
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n',
FIRSTROW = 2,) as t1


Saludos!!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: bulk, informacion, insert, reemplazar, tabla
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 02:47.