2009-11-16 7 views
0

J'utilise SQL Server 2005. Je souhaite créer une procédure stockée qui enregistre les données dans un fichier .csv.Je souhaite importer des données de ma procédure stockée dans un fichier csv

Voici la requête que je suis en train mais il ne crée pas un fichier dans mon système:

use PBMS_DocumationWorkflow 
go 
create proc s_bcpMasterSysobjects 
as 
    select '"' + name + '"' 
      + ',' + '"' + convert(varchar(8), crdate, 112) + '"' 
      + ',' + '"' + convert(varchar(8), crdate, 108) + '"' 
    from master..sysobjects 
    order by crdate desc 
go 
declare @sql varchar(8000) 
select @sql = 'bcp "exec PBMS_DocumationWorkflow..s_bcpMasterSysobjects" 
       out c:\bcp\sysobjects.txt -c -t, -T -S'+ @@servername 
exec master..xp_cmdshell @sql 

S'il vous plaît suggérer la cause ou me donner un exemple de code qui fonctionne très bien.

Merci.

+0

Vous obtenez un message d'erreur? Le fichier n'apparaît-il pas? –

+0

il ne montre tout simplement pas d'erreur –

Répondre

0

Essayez de changer le "out" en "queryout"

+0

J'ai déjà essayé –

+1

Lorsque j'ai fait ce changement, cela a bien fonctionné pour moi. Êtes-vous sûr que xp_cmdshell est activé sur votre serveur? –

+0

J'ai déjà activé xp_cmdshell pour le serveur sql. Mais toujours en mesure de créer un fichier cependant je suis capable de créer un fichier en utilisant declare @sql varchar (8000) set @sql = 'OSQL -S EIL-SW-DSK-038 \ SQLEXPRESS -E -Q "exécuter AlphaTripNotes.dbo. s_bcpMasterSysobjects "-b -oc: \ bcp \ sysobjects.csv ' exec maître..xp_cmdshell @sql, no_output –

Questions connexes