01/10/2010, 05:11
|
| | | Fecha de Ingreso: diciembre-2005 Ubicación: ARGENTINA
Mensajes: 196
Antigüedad: 19 años Puntos: 3 | |
Respuesta: Socorro!!! Expertos de BULK INSERT ayudarme!!! Cita:
Iniciado por dikcc Buenos días,
Recurro de nuevo a vosotros por que llevo 30 horas buscando una solución y no la encuentro. Espero que me podais ayudar.
Tengo una tabla en la base de datos con los siguientes campos:
* Id, int, identidad (autoincremental),
* Nombre, nvarchar (100)
* Apellido, nvarchar (100)
* Direccion, nvarchar (100)
* Num Telefono, int
Ahora tengo un fichero fich.txt. Quiero insertar el contenido de ese fichero en la tabla. La estructura del fichero es la siguiente:
1$20100904
Nombre$Apellido$Direccion$Num Telefono
Antonio$Hernandez$Avenida Sin Nombre$911231231
Antonioa$Hernandeza$Avenida Sin Nombre2$911231232
Más o menos así.
He creado un fichero .fmt para coger el formato del fichero y la estructura es la siguiente:
10.0
4
1 SQLNCHAR 2 100 "$" 2 Nombre Modern_Spanish_CI_AS
2 SQLNCHAR 2 100 "$" 3 Apellido Modern_Spanish_CI_AS
3 SQLNCHAR 2 100 "$" 4 Direccion Modern_Spanish_CI_AS
4 SQLINT 1 12 "\r\n" 5 Num Telefono ""
Por último la instrucción que realizo en SQL es la siguiente
BULK INSERT tblAbonado
FROM 'C:\201008.txt'
WITH(DATAFILETYPE ='native',ROWTERMINATOR = '\r\n',,FIELDTERMINATOR ='$',FORMATFILE = 'C:\fich.txt')
El caso es que no funciona. Actualmente el error que me da es el siguiente:
Mens. 4832, Nivel 16, Estado 1, Línea 1
Carga masiva: fin de archivo inesperado en el archivo de datos.
Mens. 7399, Nivel 16, Estado 1, Línea 1
El proveedor OLE DB "BULK" del servidor vinculado "(null)" informó de un error. El proveedor no proporcionó información acerca del error.
Mens. 7330, Nivel 16, Estado 2, Línea 1
No se puede capturar una fila del proveedor OLE DB "BULK" para el servidor vinculado "(null)".
Por favor, si alguien sabe por que puede ser, se lo agradecería muchísimo. Es vida o muerte.
Un saludo y gracias por todo Versión de sql que usas?
No entendí como esta formateado tu archivo de texto-
El campo "Num Telefono" no debería llevar espacios.
No tengo idea de bulk insert pero voy a tratar de ayudarte en lo que puede
Tu ROWTERMINATOR no deberia ser solo '\n' ?
saludso!
Última edición por gustavoh10; 01/10/2010 a las 05:19 |