Transact SQL : exporter en CSV une table ou une vue
Submitted by st on
C'est simple en SQL Server, mais faites-vous l'attention sur les droits de la connexion utilisée.
Activez l'option "xp_cmdshell" si necessaire
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
Créez et lancez la procédure stockée
USE AdventureWorks GO CREATE PROCEDURE dbo.export_to_csv AS BEGIN SET NOCOUNT ON; DECLARE @file_name varchar(1000); SET @file_name = 'c:\temp\'; -- Le compte SQL Server doit avoir les droits pour écrire ici SET @file_name = @file_name + convert(varchar(16), convert(int, (rand() * 1000000000))) + '.csv'; DECLARE @sql varchar(8000); SET @sql = 'bcp AdventureWorks.Person.Contact out "' + @file_name + '" -c -t; -T -S' + @@servername; EXEC xp_cmdshell @sql, no_output; END GO