IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[SQLServer2005] Extraction de PS dans des fichiers distincts


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Points : 92
    Points
    92
    Par défaut [SQLServer2005] Extraction de PS dans des fichiers distincts
    Bonour à tous,

    je vous expose mon problème, j'aimerai dans un souci d'historisation, extraire les différents procédures stockées de ma base dans des fichiers.

    Ex:
    PS1 sera enregistrée dans le fichier PS1.sql
    PS2 sera enregistrée dans le fichier PS2.sql

    etc

    pour le moment, j'ai réussi à extraire le contenu des PS dans un fichier unique, difficillement exploitable.
    J'ai utilisé Microsoft SQL Derver management studio, clic droit sur la base > Taches > Générer des scripts

    Donc si vous avez une solution, je suis preneur

    Merci d''avance pour vos réponses

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Je viens de déterer ce script de mes snippets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    ---------------------------------------------------------------------
    -- Exporter le code de toutes les procédures stockées dans un fichier
    ---------------------------------------------------------------------
     
    SELECT SQL.definition + CHAR(10) + CHAR(13) + 'GO' toto
    INTO ##TOTO
    FROM sys.procedures PROCS
    JOIN sys.sql_modules SQL ON SQL.object_id = PROCS.object_id
    WHERE PROCS.name not like 'dt%' AND PROCS.name not like 'sp%'
    ORDER BY PROCS.name
     
    DECLARE @szBCP VARCHAR(256);
    SET @szBCP = 'bcp "SELECT * FROM ##TOTO" queryout C:\Procs.sql -T -c';
    EXEC master.dbo.xp_cmdshell @szBCP;
     
    DROP TABLE ##TOTO;
     
    ------------------------------------------------------------------------------------------
    -- Exporter le code de plusieurs procédures stockées avec un fichier par procédure stockée
    ------------------------------------------------------------------------------------------
    -->>>> A EXECUTER SUR LA BD DEPUIS LAQUELLE ON SOUHAITE REALISER L'EXPORT
    SET NOCOUNT ON
     
    DECLARE CUR_PROC CURSOR FOR
    	SELECT name
    	FROM sys.procedures
    FOR READ ONLY
     
    DECLARE @szNomProc SYSNAME
    OPEN CUR_PROC
    FETCH NEXT FROM CUR_PROC INTO @szNomProc
    WHILE @@FETCH_STATUS = 0
    BEGIN
    	SELECT definition
    	INTO ##PROC_TEXT
    	FROM sys.sql_modules
    	WHERE OBJECT_NAME(object_id) = @szNomProc
     
    	DECLARE @szBCP VARCHAR(512);
    	SET @szBCP = 'bcp "SELECT * FROM ##PROC_TEXT" queryout C:\' + @szNomProc + '.sql -T -c';
    	EXEC master.dbo.xp_cmdshell @szBCP, NO_OUTPUT;
     
    	DROP TABLE ##PROC_TEXT;
    	FETCH NEXT FROM CUR_PROC INTO @szNomProc
    END
    DEALLOCATE CUR_PROC
    Le premier exporte dans un fichier Procs.txt, l'autre dans un fichier pas procédure dont le nom est celui de la procédure.

    @++

Discussions similaires

  1. Programme de remplacement de texte dans des fichiers
    Par Invité4 dans le forum Linux
    Réponses: 13
    Dernier message: 12/11/2006, 16h06
  2. [XP] recherche dans des fichiers d'extension jsp
    Par drinkmilk dans le forum Windows XP
    Réponses: 5
    Dernier message: 20/10/2005, 08h55
  3. Réponses: 9
    Dernier message: 25/09/2005, 16h33
  4. [Rech. Comp.] Lire et écrire dans des fichiers XML
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/08/2005, 20h48
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo