Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/09/2011, 18:30
Avatar de ArturoGallegos
ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 8 meses
Puntos: 1146
Problemas File format SQL server 2008

compañeros ando liado con una importación de csv a sql, les explico lo que he intentado y con suerte alguien pueda echarme una mano

verán he creado una tabla con la siguiente estructura (los asteriscos dentro de la consulta son para evitar hacer referencia a mi cliente)
Código SQL:
Ver original
  1. [IdRestaurant] [INT] IDENTITY(1,1)  INT NOT NULL PRIMARY KEY IDENTITY(1,1),
  2.     [Categoria] [VARCHAR](50) NOT NULL,
  3.     [TipoComida] [VARCHAR](50) NOT NULL,
  4.     [Zona] [VARCHAR](50) NOT NULL,
  5.     [Nuevo] [VARCHAR](2) NULL,
  6.     [Compania] [VARCHAR](50) NOT NULL,
  7.     [SitioWeb] [VARCHAR](MAX) NULL,
  8.     [TarjetaM***o] [VARCHAR](2) NULL,
  9.     [Direccion] [VARCHAR](50) NULL,
  10.     [CodigoPostal] [VARCHAR](MAX) NULL,
  11.     [Pais] [VARCHAR](50) NOT NULL,
  12.     [Estado] [VARCHAR](50) NOT NULL,
  13.     [MostrarDireccion] [VARCHAR](MAX) NULL,
  14.     [CodAreaTelefono] [VARCHAR](MAX) NULL,
  15.     [Telefono] [VARCHAR](20) NULL,
  16.     [MostrarTelefono] [VARCHAR](MAX) NULL,
  17.     [Imagen] [VARCHAR](MAX) NULL,
  18.     [Inevitable] [VARCHAR](50) NULL,
  19.     [Aprobado] [VARCHAR](2) NOT NULL,
  20.     [Nota] [VARCHAR](400) NULL,
  21.     [Mexicano] [VARCHAR](2) NULL,
  22.     [RUserID] [INT] NULL,

e intento importar un archivo CSV con la siguiente consulta
Código SQL:
Ver original
  1. BULK
  2. INSERT dbo.XmodProRestaurantes
  3. FROM 'c:\x\Restaurantes.txt'
  4. WITH
  5. (
  6. FIELDTERMINATOR = ',',
  7. ROWTERMINATOR = '\n'
  8. )

y como resultado he obtenido muchos errores del tipo
Cita:
Msg 4863, Level 16, State 1, Line 1
Bulk load data conversion error (truncation) for row 17, column 19 (Aprobado).
Msg 4863, Level 16, State 1, Line 1
Bulk load data conversion error (truncation) for row 18, column 19 (Aprobado).
Msg 4863, Level 16, State 1, Line 1
Bulk load data conversion error (truncation) for row 19, column 21 (Mexicano).
como dice error de conversion he supuesto que hay un problema con la codificacion y procedo a crear un archivo de formato


(los asteriscos dentro del código son para evitar hacer referencia a mi cliente)
Código SQL:
Ver original
  1. 10.0
  2. 22
  3. 1   SQLINT  0   4   ","     1   IdRestaurant        SQL_Latin1_General_CP1_CI_AS
  4. 2   SQLCHAR 0   50  ","     2   Categoria           SQL_Latin1_General_CP1_CI_AS
  5. 3   SQLCHAR 0   50  ","     3   TipoComida          SQL_Latin1_General_CP1_CI_AS
  6. 4   SQLCHAR 0   50  ","     4   Zona                SQL_Latin1_General_CP1_CI_AS
  7. 5   SQLCHAR 0   2   ","     5   Nuevo               SQL_Latin1_General_CP1_CI_AS
  8. 6   SQLCHAR 0   50  ","     6   Compania            SQL_Latin1_General_CP1_CI_AS
  9. 7   SQLCHAR 0   400 ","     7   SitioWeb            SQL_Latin1_General_CP1_CI_AS
  10. 8   SQLCHAR 0   2   ","     8   TarjetaM****o  SQL_Latin1_General_CP1_CI_AS
  11. 9   SQLCHAR 0   50  ","     9   Direccion           SQL_Latin1_General_CP1_CI_AS
  12. 10  SQLCHAR 0   400 ","     10  CodigoPostal        SQL_Latin1_General_CP1_CI_AS
  13. 11  SQLCHAR 0   50  ","     11  Pais                SQL_Latin1_General_CP1_CI_AS
  14. 12  SQLCHAR 0   50  ","     12  Estado              SQL_Latin1_General_CP1_CI_AS
  15. 13  SQLCHAR 0   400 ","     13  MostrarDireccion    SQL_Latin1_General_CP1_CI_AS
  16. 14  SQLCHAR 0   400 ","     14  CodAreaTelefono     SQL_Latin1_General_CP1_CI_AS
  17. 15  SQLCHAR 0   20  ","     15  Telefono            SQL_Latin1_General_CP1_CI_AS
  18. 16  SQLCHAR 0   400 ","     16  MostrarTelefono     SQL_Latin1_General_CP1_CI_AS
  19. 17  SQLCHAR 0   400 ","     17  Imagen              SQL_Latin1_General_CP1_CI_AS
  20. 18  SQLCHAR 0   50  ","     18  Inevitable          SQL_Latin1_General_CP1_CI_AS
  21. 19  SQLCHAR 0   2   ","     19  Aprobado            SQL_Latin1_General_CP1_CI_AS
  22. 20  SQLCHAR 0   400 ","     20  Nota                SQL_Latin1_General_CP1_CI_AS
  23. 21  SQLCHAR 0   2   ","     21  Mexicano            SQL_Latin1_General_CP1_CI_AS
  24. 22  SQLINT  0   4   "\n"    22  RUserID             SQL_Latin1_General_CP1_CI_AS

el cual me tira un error de lectura
Cita:
Msg 4862, Level 16, State 1, Line 1
Cannot bulk load because the file "c:\x\format.txt" could not be read. Operating system error code (null).
pero si en lugar de 22 filas le digo que son 21 si lo puede leer
Cita:
10.0
21
1 SQLINT 0 4 ","
para mi desgracia sigo teniendo un error un poco distinto al inicial pero al final es lo mismo
Cita:
Msg 4867, Level 16, State 1, Line 1
Bulk load data conversion error (overflow) for row 2, column 1 (IdRestaurant).
Msg 4867, Level 16, State 1, Line 1
Bulk load data conversion error (overflow) for row 3, column 1 (IdRestaurant).
Msg 4867, Level 16, State 1, Line 1
Bulk load data conversion error (overflow) for row 4, column 1 (IdRestaurant).
no se si yo me estoy cerrando por lo cansado y fastidiado pero no doy con el error pero ya tengo varios días intentando y postergando el asunto así que no quedo otra que preguntar en el foro...

alguien ve algún fallo? que otra cosa puedo intentar?


------------------------------------

por cierto ya intente con

Cita:
BULK
INSERT dbo.XmodProRestaurantes
FROM 'c:\x\Restaurantes.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\r\n'
)
sin resultados