[SQL Server] Envoyer le résultat d'une requête SQL vers un fichier csv
--
=============================================
--
Author: Zouhaier KHARROUBI
--
Create date: 21/09/2022
-- Description: Envoyer le résultat d'une requête SQL vers
un fichier csv
--
=============================================
DECLARE @Instance_Source NVARCHAR(100)
,@Database_Source NVARCHAR(128)
,@Requete NVARCHAR(3000)='SELECT
[column1],[column2],[column3],[column4],[column5],[column6] FROM [MaBase].[dbo].[MaTable] ORDER BY
[num_lig]'
,@Separateur CHAR(1)=';'
,@FichierDestination NVARCHAR(500)='monFichier'
,@FichierExtension NVARCHAR(10)='.csv'
,@CheminDestination NVARCHAR(500)='\\MonServeurFichier\Mesfichiers\Generation'
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets
from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
IF CHARINDEX('\',REVERSE(@Chemindestination),1)<>1
BEGIN
SELECT @Chemindestination = @Chemindestination + '\'
END
SELECT
@FichierDestination = @Chemindestination +
@FichierDestination + @FichierExtension
SELECT @Requete = 'sqlcmd -f 65001 -V1 -I -u -E -S "' +
@Instance_Source + '" -m1 -d "' + @Database_Source
+ '" -E -s"' + @Separateur + '" -W -Q "' + @Requete + '" -r0 -b -o "' + @FichierDestination + '"'
EXEC Master..xp_cmdshell @Requete
END