SQL Server - EXPORTAR A CSV

 
Vista:
sin imagen de perfil

EXPORTAR A CSV

Publicado por Eddy (6 intervenciones) el 21/06/2016 19:16:20
Hola buen día a todos... tengo mi siguiente consulta:

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
39
40
41
42
43
DECLARE @cD Datetime, @mFI varchar(50), @MCN varchar(100), @cC varchar(10), @s varchar(50), @uom varchar(5), @dPN varchar(5), @sP varchar(5), @bC varchar, @dCN varchar, @sOD varchar, @mA varchar;
SET @cD=GetDate()
SET @mFI='BFLlantasYServSA'
SET @MCN='1370'
SET @cC='MX'
SET @s='productSold'
SET @uom='EA'
SET @dPN='0'
SET @sP='0'
SET @bC=''
SET @dCN=''
SET @sOD=''
SET @mA=''
 
SELECT F.FECHA_DOC AS curDate , @cD AS curTime, @mFI As messageFromId, @MCN As MichelinCustomerNbr, @cC As countryCode, @s As seccion, P.CVE_ART As mspn, CASE
WHEN F.NUM_ALMA = 1 THEN '4'
WHEN F.NUM_ALMA = 2 THEN '3'
WHEN F.NUM_ALMA = 3 THEN '5'
WHEN F.NUM_ALMA = 4 THEN '6'
ELSE '7'
END  dealerStoreNbr , CASE
WHEN C.CAMPLIB10 = '002' THEN '002'
ELSE '001'
END  dealerCustNbr,@uom as uom, P.CANT As qty, F.FECHA_DOC AS sellOutDate, @dPN As dealerPartNbr, @dPN As salesPrice, C.CAMPLIB9 As michAAN, @bC As brandCd
FROM PAR_FACTF09 P INNER JOIN INVE09 I
 ON I.CVE_ART = P.CVE_ART INNER JOIN INVE_CLIB09 L
  ON L.CVE_PROD = I.CVE_ART INNER JOIN FACTF09 F
   ON F.CVE_DOC = P.CVE_DOC INNER JOIN CLIE_CLIB09 C
    ON C.CVE_CLIE = F.CVE_CLPV
WHERE F.FECHA_DOC>= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) AND F.STATUS <> 'C' AND L.CAMPLIB7 <> '' AND I.STATUS  <> 'B'
 
UNION
 
SELECT @cD AS curDate , @cD AS curTime, @mFI As messageFromId, @MCN As MichelinCustomerNbr, @cC As countryCode, @s As seccion, B.CVE_ART As mspn,
CASE
WHEN A.CVE_ALM = 1 THEN '4'
WHEN A.CVE_ALM = 2 THEN '3'
WHEN A.CVE_ALM = 3 THEN '5'
WHEN A.CVE_ALM = 4 THEN '6'
ELSE '7'
END  dealerStoreNbr, @dCN As dealerCustNbr,@uom as uom, A.EXIST As qty, @sOD AS sellOutDate, @dPN As dealerPartNbr, @dPN As salesPrice, @mA As michAAN, @bC As brandCd
FROM MULT09 A INNER JOIN INVE09 B ON A.CVE_ART=B.CVE_ART INNER JOIN INVE_CLIB09 C ON A.CVE_ART=C.CVE_PROD
WHERE C.CAMPLIB7<>'NULL' AND A.EXIST>0 AND B.CVE_ART<>'25817'


Corre muy bien, pero quisiera que una vez echo el proceso los resultados se guarden en un archivo CSV, en una carpeta especifica como nombre la fecha en que se hizo. E intentado hacerlo con el SQLCMD pero no me sale... quisiera saber si se puede programar en el scrip o como hacerle.

MUCHAS 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 haydee

EXPORTAR A CSV

Publicado por haydee (1 intervención) el 21/06/2016 19:30:58
USA EL BCP DE SQL.. YO USO ESTA SINTAXIS POR EJEMPLO Y ME FUNCIONA... LA USO DENTRO DE UN CURSOR ... PERO REALMENTE EL QUERY METES EL RESULTADO EN ESA VARIABLE Y EJECUTAS..
QUERYOUT ES PARA SALIDA Y QUERYIN PARA ENTRADA DEL TXT O CSV A UNA TABLA DE SQL...
ESPERO TE SIRVA

1
2
set @comando = 'bcp "select item_m as item,descri_m as descripcion from ##mat_pos_no order by item_m " queryout "j$\precios\mat_pos_no.txt"  -T -c"'
EXEC master..xp_cmdshell @comando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

EXPORTAR A CSV

Publicado por Eddy (6 intervenciones) el 21/06/2016 20:10:05
Hola haydee... acabo de usar tu metodo, pero me marca errores en los campos donde asigno valor a variables:

SET @mFI='BFLlantasYServSA'

ejemplo esa primer linea... pienso es por las comillas simples
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: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

EXPORTAR A CSV

Publicado por Isaias (4558 intervenciones) el 21/06/2016 21:24:01
¿Tiene al menos SQL Server Standar Edition 2005 o superior?

¿Porque no se moderniza y utiliza los servicios de SSIS?

Todo lo que desea hacer, como guardarlo con un nombre diferente, una carpeta especifica, etc, etc, etc (y mucho mas), lo puede hacer con SSIS.
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

EXPORTAR A CSV

Publicado por Eddy (6 intervenciones) el 21/06/2016 23:13:23
Tengo SQL Microsoft 2005 - estudio xpress.

a que se refiere con SSIS?

Gracias por sus comentarios.
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: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

EXPORTAR A CSV

Publicado por Isaias (4558 intervenciones) el 22/06/2016 00:35:56
Por eso aclare, EDICION STANDARD o superior
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: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

EXPORTAR A CSV

Publicado por Isaias (4558 intervenciones) el 22/06/2016 18:46:00
Tendrias que "darle la vuelta" a tus comillas, checa
1
2
3
4
declare @s nvarchar(1000)
declare @t nvarchar(200) = 'select RecordType + PaymentYear from CentersApp.dbo.IRS_TRecord'
set @s =  'bcp ' + '"' +  @t + '"' +  '        queryout "\\w2k3solomon\c$\IRS1099B\IRS_VENDORS.TXT"  -T -c -S SOLOMON '
select  @s
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