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

Développement SQL Server Discussion :

Trigger à l'insertion qui lance un programme


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 101
    Par défaut Trigger à l'insertion qui lance un programme
    Bonjour à tous,

    Pour commencer, je préfère vous prévenir, je suis une quiche finie et je n'y connais vraiment rien en SQL
    Voilà, ça, c'est fait.

    Préambule : je suis sous MS server 2008

    Je souhaiterais mettre en place un trigger sur une table qui, à chaque fois qu'une ligne est insérée lancera un programme.
    Quand je clique sur "New trigger..." dans la table concernée j'ai ce code qui apparait :
    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
    -- ================================================
    -- Template generated from Template Explorer using:
    -- Create Trigger (New Menu).SQL
    --
    -- Use the Specify Values for Template Parameters 
    -- command (Ctrl-Shift-M) to fill in the parameter 
    -- values below.
    --
    -- See additional Create Trigger templates for more
    -- examples of different Trigger statements.
    --
    -- This block of comments will not be included in
    -- the definition of the function.
    -- ================================================
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:	<Description,,>
    -- =============================================
    CREATE TRIGGER <Schema_Name, sysname, Schema_Name>.<Trigger_Name, sysname, Trigger_Name> 
       ON  <Schema_Name, sysname, Schema_Name>.<Table_Name, sysname, Table_Name> 
       AFTER <Data_Modification_Statements, , INSERT,DELETE,UPDATE>
    AS 
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for trigger here
     
    END
    GO
    Que dois-je ajouter si je souhaite par exemple lancer le programme : "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ?

    Désolé si ce n'est pas très clair mais je ne suis vraiment pas doué et merci à tous pour le temps que vous m'aurez accordé.

    Bonne fin de journée,

    Farid

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Vous feriez mieux de ne pas le faire, car chrome.exe sera lancé pour l'utilisateur du moteur SQL qui, comme c'est un compte système, ne l'affichera nulle part, mais générera de l'occupation mémoire, un thread perdu et figera peut être votre process pour l'éternité !

    Et comme disait Woody Allen, "l'éternité, c'est long, surtout vers la fin...."

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 101
    Par défaut
    Ah non, ce n'est qu'un exemple...

    Je ne souhaite pas lancer Chrome mais une base Access qui effectuera un traitement et se refermera aussi sec.

    Le problème reste le même ?

    Merci,

    Farid

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 101
    Par défaut
    J'espère que ce que je demande est possible parce que je suis vraiment dans une grosse galère là.

    Dans tous les cas, merci pour votre aide.

    Farid

  5. #5
    Invité
    Invité(e)
    Par défaut
    Quand j'étais stagiaire il y a 15 ans, j'avais fait un bricolage un peu analogue sur oracle et forms : un procédure PL/SQL lançait et fabriquait un fichier excel qui récupérait des données dans la bd par vb. Il était ensuite stocké temporairement puis envoyé et affiché sur le poste client.
    Ça marchait pas trop mal en DEV. Il y avait certains cas où le programme Excel.exe ne se fermait pas...
    Je n'étais plus là pour la production, donc je ne peux confirmer si c'était totalement viable.
    Maintenant, je ferais ça différemment, notamment, la partie traitement sur un machine distincte, histoire de ne pas plomber toute la prod avec ces .exe qui ne s'arrête pas.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 101
    Par défaut
    Citation Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
    Quand j'étais stagiaire il y a 15 ans, j'avais fait un bricolage un peu analogue sur oracle et forms : un procédure PL/SQL lançait et fabriquait un fichier excel qui récupérait des données dans la bd par vb. Il était ensuite stocké temporairement puis envoyé et affiché sur le poste client.
    Ça marchait pas trop mal en DEV. Il y avait certains cas où le programme Excel.exe ne se fermait pas...
    Je n'étais plus là pour la production, donc je ne peux confirmer si c'était totalement viable.
    Maintenant, je ferais ça différemment, notamment, la partie traitement sur un machine distincte, histoire de ne pas plomber toute la prod avec ces .exe qui ne s'arrête pas.
    Et du coup comment je peux faire pour lancer ma BdD, tu sais lorsqu'une ligne est insérée dans la table, tu as une idée ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/04/2009, 16h05
  2. Script Shell qui lance un programme sur un ordi distant avec SSH
    Par bilibou dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 02/06/2007, 11h18
  3. Réponses: 11
    Dernier message: 30/10/2006, 16h59
  4. Un programme qui lance quelquechose toute les 50 minutes?
    Par altadeos dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/03/2006, 11h16
  5. Réponses: 11
    Dernier message: 20/12/2005, 18h40

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