Bonjour,
je voudrai qu'une procédure stockée écrive un fichier lorsqu'elle est lancée. Est-ce possible ? Ou vais-je devoir me résoudre à utiliser bcp ?
Merci pour vos réponses![]()
Bonjour,
je voudrai qu'une procédure stockée écrive un fichier lorsqu'elle est lancée. Est-ce possible ? Ou vais-je devoir me résoudre à utiliser bcp ?
Merci pour vos réponses![]()
En T/SQL c'est impossible, je pense.
Peut être avec une proc en SQLCLR en permission EXTERNAL ou UNSAFE (si ton DBA l'accepte).
Mais je ne vois pas pourquoi passer par bcp dans tous les cas. Les solutions ne manquent pas :
-par exemple, envoyer les données une Queue SSB avec un consommateur capable d'écrire le fichier en question.
- le plus simple peut être : utiliser un package SSIS pour exporter les données vers un fichier.
salut,
Tu n'expliques pas en détail ce que tu veux faire mais tu peux essayer la commande xp_cmdshell :
mais attention à la bidouille ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec master.dbo.xp_cmdshell 'echo chaine > d:\fichier.txt'
non, on peut le faire avec bcp mais c'est très lourd.
Code : Sélectionner tout - Visualiser dans une fenêtre à part En T/SQL c'est impossible, je pense.
comme dit kagemaru, dis-nous exactement ce que tu veux faire
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
Bonjour,
Effectivement SQL n'est pas une langage qui est conçu pour gérer des fichiers
BCP est un utilitaire fourni avec SQL Server, il ne faut pas le confondre avec SQL et son implémentation T-SQL.non, on peut le faire avec bcp mais c'est très lourd
Comme écrit précédemment, on ne sait pas ce que vous voulez faire, soyez plus précis
@++![]()
Finalement, ça serait fait en C# pour des raisons de "réutilisation de l'existant" puisqu'une dll fait déjà précisement l'export dont j'ai besoin...
Mais, par curiosité, je veux bien que nous étudions le sujet, si vous le permettez :
Il y a une série de procédures stockées qui réalisent des traitements sur une base de données (récupération de données de 2 serveurs liés, traitement de ces données correspondant aux besoins définis par l'utilisateur concernant la génération et le contrôle des données). A la fin, je dois sortir un fichier qui correspond exactement au résultat d'une requête SQL :
Étant donné que tout le process est déjà sous forme de procédure stockées, j'aurai voulu que le fichier soit généré depuis une procédure stockée, pour que ce soit uniforme, et parce que le Controler lançant les procédures stockées ne gérait que des procédures stockées (comme dit au début, il va finalement apprendre à utiliser aussi des dll...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select col1, ..., colN from table1 join ... join tableN where condition1 ... conditionN
Partager