Usuario
Exportar un Txt .. con ciertos datos desde una vista en sql server

Pregunta
-
Buenas .. Ante todo mis saludos y agradeciendo de antemano su valiosa colaboración..
primero el fin es poder exportar un resultado de una consulta a un txt.. les cuento.. de varias tabla realice una vista don en ella tengo datos que son los que debo exportar al txt..este "txt" debe estar delimitado y llevar un cierto orden en los datos. aparte debe llevar una operación de suma de registro y totalizar ciertos campos...
a continuación presento mi vista con los datos que deseo exportar
(((por Hora No Puedo Colocar Imagen hasta que verifiquen mi cuenta...:::??
a continuación como debería de salir en el "TXT".:
____________________________________________________________________________________________
"01"|REFERENCIA|VALOR|FECHA|NOMBRES|APELLIDO 1|APELLIDO 2|CAMPO 4|CAMPO 5
"02"|"17153694"|30000|2017-11-11 08:00:00|"JUAN BAUTISTA"|"JIMENEZ"|"SOPO"|"NA"|"NA" "02"|"91268256"|27000|2017-11-11 08:00:00|"JOSE LUIS"|"SANDOVAL"|"MEZA"|"NA"|"NA"
"03"|10|242300|2017-11-11 08:00:00|||||
____________________________________________________________________________________
Detallo..: "1" La primera linea representa el encabezado
la linea "2" los valores de los registros
la linea "3" debo tener Suma total de registro | Totalizar la Suma Del Campo Valor | Traer La fecha y hora de cuando se genera el "TXT" ||||||| y por ultimo agregar el carácter delimitador "|"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
para esto genero el siguiente scripts. donde creo una tabla adicional donde voy a llevar estos datos y poder hacer mi operación.
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Resultados]') AND type in (N'U')) CREATE TABLE Resultados ( Linea VARCHAR(100), Referencia VARCHAR(15), Valor Varchar(25), Fecha varchar(25), Nombres VARCHAR(8000), Apellido1 varchar(8000), Apellido2 varchar(8000), Campo4 VARCHAR(20), Campo5 VARCHAR(20) ) delete from Resultados INSERT INTO Resultados (Linea,Referencia, Valor, Fecha, Nombres, Apellido1, Apellido2, Campo4, Campo5) SELECT '01', 'REFERENCIA', 'VALOR', 'FECHA','NOMBRES','Apellido1','Apellido2','Campo4','Campo5' INSERT INTO Resultados(Linea, Referencia, Valor, Fecha, Nombres,Apellido1,Apellido2,Campo4,Campo5) SELECT '02',Convert(varchar(15),o.Referencia), convert(varchar(25),o.Valor), convert(varchar(25),o.Fecha), convert(varchar(8000),o.NOMBRES), convert(varchar(8000), o.APELLIDO1),convert(varchar(8000),o. APELLIDO2), convert(varchar(20),'NA'),convert(varchar(20),'NA') FROM dbo.relacionsaldosmayoro as o
al correr esto me da el siguiente error.:
(1 filas afectadas)
(1 filas afectadas)
Mens. 8152, Nivel 16, Estado 14, Línea 19
Los datos de cadena o binarios se truncarían.
Se terminó la instrucción.---------------------------------------------------
No logro descifrar este error según debería ser por el tamaño del valor del registro declarado ..cuando lo convierto a varchar no se de verdad pido su colaboración. no se si tiene que ver que mis datos de la vista vienen de otras tablas y en ellas son (no null) y (Null)..
no se si debo agregar value no null .. cuando lo intento me da error igual ..
les dejo imagen de los campos en la vista de donde estoy insertando los datos
-------------------------------------------------------------
(((( No Puedo Colocar La Imagen)))
Columnas...
Referencia (Varchar(15),No Null)
Valor (Decimal(28,4),No Null)
Fecha (Datetime,No Null)
Nombres (Varchar(8000), Null)
Apellido1 (Varchar(8000), Null)
Apellido2 (Varchar(8000), Null)
Así están los datos en la vista de donde obtengo los datos
---------------------------------------
bueno acá les dejo mi información...
Agradezco su valiosa colaboración y ayuda
------------------------------------------------------------------------
después de este procedimiento tendría que generar la salida del txt
....... Por ahora debo de hallar el error ..
Todas las respuestas
-
Hola Ljcr:
INSERT INTO Resultados(Linea, Referencia, Valor, Fecha, Nombres,Apellido1,Apellido2,Campo4,Campo5) SELECT '02',Convert(varchar(15),o.Referencia), convert(varchar(25),o.Valor), convert(varchar(25),o.Fecha), convert(varchar(8000),o.NOMBRES), convert(varchar(8000), o.APELLIDO1),convert(varchar(8000),o. APELLIDO2), convert(varchar(20),'NA'),convert(varchar(20),'NA') FROM dbo.relacionsaldosmayoro as o
si relacionsaldosmayoro tiene campos como referencia cuyo tamaño es mayor que 15, no puede castearlos, para eso tienes que darle la funcion Substring (si quieres recortarlo).....
Te he puesto referencia, pero es valor que tienes un 25 y un 28 en la definicion de la tabla
Puede ser que por ahí te venga el error.
Un saludo
- Editado Javi Fernández F miércoles, 20 de junio de 2018 8:22 Confusión en el campo