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

[SOLUCIONADO] Procedure txt a Sql

Estas en el tema de Procedure txt a Sql en el foro de SQL Server en Foros del Web. Hola deseo pasar un txt a sql con un SP Probé con: BULK INSERT WITH (FIELDTERMINATOR = ',') pero me habla de ',' y no ...
 
Antiguo 19/05/2014, 14:28
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Procedure txt a Sql

Hola deseo pasar un txt a sql con un SP

Probé con:
BULK INSERT WITH (FIELDTERMINATOR = ',') pero me habla de ',' y no quiero agragarle comas a mi txt. deseo pasarlo tal y como esta:

Carlos Browm 22356978 /*Ejemplo txt sin $ o ,


en mi tabla temporal los campos son stFName, stLName, stTelefono.

Probe el BULK tambien asi FIELDTERMINATOR = ' ' pero me manda todo el contenido de mi txt al campo stTelefono. Quisiera que se pase ordenado a mi tabla ya sea con otra instrucción.

Muchas gracias.
 
Antiguo 19/05/2014, 14:32
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Procedure txt a Sql

¿Leiste la estructura del BULK INSERT?

BULK INSERT tutabla
FROM 'c:\tuarchivo.txt'
WITH
(
FIELDTERMINATOR =' ',
ROWTERMINATOR = ':\n')
__________________
MCTS Isaias Islas
 
Antiguo 19/05/2014, 14:51
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Procedure txt a Sql

Si pero me habla de que tengo que separar los campos en el txt ' ,' ':\n' y deseo pasarlo tal como esta a mi tabla. Si hay algun otro metodo que no sea Bulk o si se puede con el bienvenido.

Gracias por responder
 
Antiguo 20/05/2014, 11:51
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Procedure txt a Sql

Veamos

-- Contenido de mi archivo Nombres.txt en c:\
Isaias Islas Gonzalez 5555678900
Alberto Gomez Urrutia 4567890012
Jose Reynoso Alcocer 4567890034

-- Mi tabla NOMBRES
Nombre varchar no 50
APaterno varchar no 50
AMaterno varchar no 50
Telefono varchar no 20

-- Mi instrucción BULKINSERT

Código SQL:
Ver original
  1. BULK INSERT Nombres
  2.  FROM 'c:\Nombres.txt'
  3.  WITH
  4.  (
  5.  FIELDTERMINATOR =' ',
  6.  ROWTERMINATOR = '\n')

-- Mi resultado
Código SQL:
Ver original
  1. SELECT * FROM Nombres

Isaias Islas Gonzalez 5555678900
Alberto Gomez Urrutia 4567890012
Jose Reynoso Alcocer 4567890034

(3 row(s) affected)
__________________
MCTS Isaias Islas
 
Antiguo 20/05/2014, 14:36
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Procedure txt a Sql

Amigos, me sumo al tema ya que tengo un error al querer ejecutar una instrucción de BULK INSERT:

Msg 4860, Level 16, State 1, Line 1
Cannot bulk load. The file "C:\test.txt" does not exist.


El archivo está creado en la unidad indicada.

Que puede estar pasando?

Gracias y saludos

damimg
 
Antiguo 20/05/2014, 15:26
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Procedure txt a Sql

Pues eso, que NO EXISTE.

Verifica que realmente el archivo TEST, tenga la extensión TXT y que sea correcto el drive c:\
__________________
MCTS Isaias Islas
 
Antiguo 20/05/2014, 15:31
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Respuesta: Procedure txt a Sql

Muchas gracias, como lo describi al comienzo proble poniendo: FIELDTERMINATOR ' '.
Las veces que he probado asi me mandaba todo el contenido del txt a una sola columna ahora ni eso, solo me da el error:

Msg 4832, Level 16, State 1, Line 1
Bulk load: An unexpected end of file was encountered in the data file.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".


Tú lo hiciste como muestras en el ejemplo? porque a mi no me da. Si pongo (FIELDTERMINATOR = '\N' , ROWTERMINATOR = ' ') me llena las columnas asi
[IMG]C:\Users\informatica\Desktop\Nuevaimagen(1)[/IMG]
 
Antiguo 20/05/2014, 16:38
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Procedure txt a Sql

Mándame un ejemplo de tus registros contenidos en tu archivo TXT y muéstrame como estas ejecutando el BULK INSERT
__________________
MCTS Isaias Islas
 
Antiguo 20/05/2014, 16:45
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Procedure txt a Sql

Los registro son inventados, muy parecidos a los de tu ejemplo (para las pruebas) en txt.

Axel Moreno 22458978
Dierish Zuniga 54852126
Marlon Gutierrez 48796521


En mi tabla: Nombre:TmpStList (StFName, StLName, StTelefono)


te agradezco mucho iislas.
 
Antiguo 21/05/2014, 15:06
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Procedure txt a Sql

Con ese ejemplo, se ejecuta sin problema alguno en mi server, posiblemente lo que este pasando es que tu separados de campos no sea espacio, sea un tabulador
__________________
MCTS Isaias Islas
 
Antiguo 21/05/2014, 15:53
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Procedure txt a Sql

Disculpa mi ignoracia.

Probablemente sea como dices porque cuando cree el txt de prueba para definir los separados efectivamente lo hice con tabulaciones (barra espaciadora) si te refieres a eso, cómo hacerlo por espacios?
 
Antiguo 21/05/2014, 20:46
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Procedure txt a Sql

¿Ya probaste SUBIR la información de tu archivo de "Pruebas" a una tabla de paso?
__________________
MCTS Isaias Islas
 
Antiguo 22/05/2014, 16:23
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Procedure txt a Sql

Tabla de paso = Temporal? Si es asi, ya lo hice. Crees que se pueda hacer con un bcp?
 
Antiguo 22/05/2014, 16:24
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 19 años, 5 meses
Puntos: 774
Respuesta: Procedure txt a Sql

creo que no entiendes lo que te dice iislas, ya revisaste tu archivo con algun editor que te muestre los separadores de columnas y de renglones algo como notepad++???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
 
Antiguo 22/05/2014, 16:34
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Procedure txt a Sql

Lo siento, soy nuevo en esto de las BD.

Esto se hace con Show space and Tab?

Tienen que tener la misma longitud? solo me aparecen puntos diminutos.
 
Antiguo 22/05/2014, 17:54
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Procedure txt a Sql

Cita:
Iniciado por iislas Ver Mensaje
Pues eso, que NO EXISTE.

Verifica que realmente el archivo TEST, tenga la extensión TXT y que sea correcto el drive c:\
iislas te confirmo que el archivo con extensión TXT y la unidad son correctas!!!

Qué puede estar ocurriendo?

Saludos

damimg
 
Antiguo 22/05/2014, 19:50
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 19 años, 5 meses
Puntos: 774
Respuesta: Procedure txt a Sql

Cita:
Iniciado por damimg Ver Mensaje
iislas te confirmo que el archivo con extensión TXT y la unidad son correctas!!!

Qué puede estar ocurriendo?

Saludos

damimg
puedes poner todo tu query???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
 
Antiguo 23/05/2014, 07:35
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Procedure txt a Sql

Cita:
Iniciado por Libras Ver Mensaje
puedes poner todo tu query???

create table t1 (

nombre varchar(50),
importe tinyint
)


BULK INSERT T1
FROM 'C:\test.txt'
WITH
(
FIELDTERMINATOR =':',
ROWTERMINATOR = '\r\n')
 
Antiguo 23/05/2014, 11:20
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Busqueda Importando txt

Hola, podrias darme unos ejemplos de cómo hacerlo?

Select * from openrowset ( bulk 'direccion', single blob)

Después del from que va?
después del Bulk que pongo mi txt o mi tabla?
que hago con el single blob?

La instrucción pasada es la misma que esta en se que diferencian?
SELECT BulkColumn
FROM OPENROWSET (BULK 'c:\temp\SampleUnicode.txt', SINGLE_NCLOB) MyFile

Muchas gracias.
 
Antiguo 23/05/2014, 11:27
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Importando txt

Te aconsejo que primero, BUSQUES EN GOOGLE, leas, analices y si aun tienes duda, vienes y nos la planteas, ¿como ves?
__________________
MCTS Isaias Islas
 
Antiguo 23/05/2014, 12:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 18 años, 2 meses
Puntos: 2658
Respuesta: Procedure txt a Sql

No se permite abrir dos threads par aun mismo tema. Se debe continuar en el mismo (Ver Políticas de Uso).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
 
Antiguo 27/05/2014, 08:41
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Procedure txt a Sql

Oh perdon, no lo volvere a hacer.

iislas, esto es de otra consulta parecida que hicieron, creo que podría hacerlo asi como lo sugeriste al que preguntó : http://www.forosdelweb.com/f87/bulk-insert-txt-plano-sin-delimitador-campos-932497/

Me pasa todo mi txt a una sola columna en mi tabla, ahora sera que pueda separar las columnas del txt una vez estando en la columna de mi tabla? Te referias a eso?
 
Antiguo 27/05/2014, 09:30
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 18 años, 7 meses
Puntos: 180
Respuesta: Procedure txt a Sql

Nop, me refería que si quedaba así:

aaaaa bbbbb ccccc bbbbb aaaaaa ccccc

Podrías utilizar SUSBSTRING y separar tus datos.
__________________
MCTS Isaias Islas
 
Antiguo 29/05/2014, 11:34
 
Fecha de Ingreso: mayo-2014
Ubicación: Tierra de Lagos y Volcanes
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Procedure txt a Sql

Hola. Tenias razon iislas, mi separados son tab, ya consegui pasarlo a mi tabla. Lo hice con la ayuda de una libreria FileHelpers "Open Source". Gracias a todos.


Etiquetas: procedure, select, sql, tabla, txt
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 09:31.