SQL Server - ERROR DATATIME

 
Vista:
sin imagen de perfil

ERROR DATATIME

Publicado por PEDRO LUIS (5 intervenciones) el 29/08/2016 18:50:06
TENGO UN PROCESO QUE INTEGRA UN FICHERO TXT DE VENTAS EN EL TPV Y AL EJECUTARLO ME DA EL ERROR:
La conversión del tipo de datos varchar en datetime produjo un valor fuera de in
tervalo.
Se terminó la instrucción. Fuente del Error en la tabla cabeceraalbarancliente
el proceso sql es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/****** Objeto:  Table [dbo].[USR_PedidosIntegracion]    Fecha de la secuencia de comandos: 08/20/2009 10:14:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[USR_PedidosIntegracion](
	[MovPosicion] [uniqueidentifier] NOT NULL DEFAULT (newid()),
	[CodigoEmpresa] [smallint] NOT NULL DEFAULT ((0)),
	[NombreFichero] [varchar](255) NOT NULL DEFAULT (''),
	[Orden] [smallint] NOT NULL DEFAULT ((0)),
	[NumeroPedidoWeb] [varchar](50) NOT NULL DEFAULT (''),
	[CodigoCliente] [varchar](15) NOT NULL DEFAULT (''),
	[Tarifa] [smallint] NOT NULL DEFAULT ((0)),
	[DomicilioEnvio] [smallint] NOT NULL DEFAULT ((0)),
	[Fecha] [datetime] NULL,
	[Hora] [decimal](28, 19) NULL,
	[Observaciones] [text] NOT NULL DEFAULT (''),
	[CodigoArticulo] [varchar](20) NOT NULL DEFAULT (''),
	[Unidades] [decimal](28, 10) NOT NULL DEFAULT ((0)),
	[Precio] [decimal](28, 10) NOT NULL DEFAULT ((0)),
	[CodigoAlmacen] [varchar](4) NOT NULL DEFAULT (''),
	[Unidades2] [decimal](28, 10) NOT NULL DEFAULT ((0)),
	[SerieFactura] [varchar](50) NULL,
	[NumeroFactura] [smallint] NULL,
	[EjercicioAlbaran] [smallint] NOT NULL DEFAULT ((0)),
	[EjercicioFactura] [smallint] NOT NULL DEFAULT ((0)),
	[NumeroAlbaran] [int] NOT NULL DEFAULT ((0)),
 CONSTRAINT [USR_PedidosIntegracion_Idx] PRIMARY KEY NONCLUSTERED
(
	[MovPosicion] ASC,
	[NombreFichero] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
 
GO
SET ANSI_PADDING OFF
el fichero de ventas tiene esta estructura:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| FECHAV | ARQUEO | CORRECTO | FORMADEPAGO2 | CODIGO INTERNO | DESCRIPCIONT | IVA% | PVP | CANTIDAD | TOTAL | BASE |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 1/8/2016 | 208 | -1 | Efectivo | 0101001 | TARRINA 75 CL | 10 | 2 | 2 | 4 | 3,63636363636364 |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 1/8/2016 | 208 | -1 | Efectivo | 0101002 | TARRINA 125 CL | 10 | 2,6 | 5 | 13 | 11,8181818181818 |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Por favor me podrian ayudar ya que no me recoje ningun albaran
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.553
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

ERROR DATATIME

Publicado por Isaias (4202 intervenciones) el 29/08/2016 20:22:12
Tu motor esta configurado para recibir los datos de fecha mm/dd/yyyy, si no cumple con ese formato, por ejemplo: ('15/1/2016'), te enviara el mensaje de error que comentas.

Msg 242, Level 16, State 3, Line 1
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.

¿Me explico?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ERROR DATATIME

Publicado por PEDRO (5 intervenciones) el 29/08/2016 20:31:27
Y como puedo arreglarlo?se puede modificar las instrucciones para que lo convierta a ese formato?
ya he cambiado la fecha en el fichero a 08/01/2016 y sigue el error
en la consulta select getdate()
me devuelve 2016-08-29 20:40:21.223
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ERROR DATATIME

Publicado por jose manuel (23 intervenciones) el 29/08/2016 23:13:30
Puedes usar un convert antes de insertar tu informacion

1
Select Convert(varchar(8), FECHAV ,103)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.553
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

ERROR DATATIME

Publicado por Isaias (4202 intervenciones) el 29/08/2016 23:32:52
Como bien comenta Jose Manuel, puedes utilizar el CONVERT, solo que en tu archivo texto, debes traer las fechas de forma homogenea, si traes de "chile y de dulce" (unas dd/mm/yyyy y otras mm/dd/yyyy), seguiras con problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ERROR DATATIME

Publicado por PEDRO (5 intervenciones) el 30/08/2016 17:28:14
ya he añadido el select pero me sigue dando el mismo error
gracias por anticipado por vuestra participacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ERROR DATATIME

Publicado por jose manuel (23 intervenciones) el 30/08/2016 21:46:48
Pudieras poner aqui como realizas el insert con parametros que usas un listado de 10 registros solo para ver como darte una mejor ayuda.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.553
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

ERROR DATATIME

Publicado por Isaias (4202 intervenciones) el 30/08/2016 23:10:39
No lo subas a un campo de tipo DATETIME, subelo a un STRING y ejecutas:

SELECT * FROM TUTABLA WHERE ISDATE(TUCAMPOSTRING) = 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ERROR DATATIME

Publicado por PEDRO (5 intervenciones) el 31/08/2016 17:06:50
Os envio el fichero rar con un archivo ini, un bat, un exe y la tabla sql y el fichero de ventas txt
yo lo que hago es iniciar con el bat y seleccionar el fichero txt de ventas
este proceso deberia incorporar a albaranes pendientes de facturar por dias las ventas
el programa que utilizo es el sage murano
muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.553
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

ERROR DATATIME

Publicado por Isaias (4202 intervenciones) el 31/08/2016 22:37:22
Si, solo que la muestra que nos envias (CONSULTA1), todos los registros son del 1/8/2016, ¿no tienes una muestra de registros en formato TEXTO y con mas fechas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ERROR DATATIME

Publicado por PEDRO (5 intervenciones) el 01/09/2016 17:21:18
muchas gracias a todos por vuestro apoyo
era un error en la configuracion pipe del servidor
un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar