Bonjour
Je voudrais exécuter un script sql avec insert, update, delete à une heure précise comment je peux faire cela?
merci
Bonjour
Je voudrais exécuter un script sql avec insert, update, delete à une heure précise comment je peux faire cela?
merci
Bonjour
Vous pouvez planifier un job, avec vos requêtes.
A moins que vous ne soyez en version express, donc pas de SQL Agent, et donc pas la possibilité de planifier des jobs ?
Dans ce cas, vous pouvez créer une tache planifiée sous Windows qui lance les requêtes avec sqlcmd.
Une dernière alternative serait l'utilisation de WAITFOR
J'ai essayer de cree un job clique droit sur sql agent j'ai configurer un step et un schedule mais je pense que dans la configuration de step>command il faut mettre quelque chose qui va executer le script mais je ne sais pas quoi.
Ben justement j'ai mit mes insert/update j'ai régler une heure mais rein ne se déclenche.
Est-ce-que il y aurai quelque chose d'autre a faire?
est-ce que le service SQL Agent est bien démarré ?
Avez vous vérifié dans l'historique du job qu'il ne s'est pas lancé? peut-être se lance t'il bien et qu'une erreur survient...Ben justement j'ai mit mes insert/update j'ai régler une heure mais rein ne se déclenche.
Est-ce-que il y aurai quelque chose d'autre a faire?
Oui il est bien démarrer.
Oui justement je viens de le lancer manuellement et il provoque une erreur, donc j'ai étais voir l'historique et il se sont bien exécuter enfaite, cela vien surement de l'insert car il se connecte a un autre serveur et je pense que c'est cela qui fonctionne pasAvez vous vérifié dans l'historique du job qu'il ne s'est pas lancé? peut-être se lance t'il bien et qu'une erreur survient...
testez votre code "à la main" sous SSMS, puis quand tout est OK, intégrez le dans le job
bon courage
Mon code fonctionne je l'utilise depuis 2 semaine.
Je fais new Query > execute et j'ai pas d'erreur.
Voila l'erreur je me demande si cela peut pas venir du serveur liè.06/09/2011 16:48:04,ACL_SUGARCRM,Error,0,ACL-SUGARCRM,ACL_SUGARCRM,(Job outcome),,The job failed. The Job was invoked by User sa. The last step to run was step 1 (sugarcrm).,00:00:00,0,0,,,,0
06/09/2011 16:48:04,ACL_SUGARCRM,Error,1,ACL-SUGARCRM,ACL_SUGARCRM,sugarcrm,,Executed as user: NT AUTHORITY\SYSTEM. Incorrect syntax near 'ACL-BITNAMI'. [SQLSTATE 42000] (Error 102) Incorrect syntax near 'ACL-BITNAMI'. [SQLSTATE 42000] (Error 102). The step failed.,00:00:00,15,102,,,,0
Code insert
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 INSERT INTO sugarcrm_db.dbo.contacts (id,first_name,last_name,primary_address_street,primary_address_city,primary_address_country,primary_address_postalcode,birthdate,title,date_entered,date_modified) SELECT MATRICULE,NOM,PRENOM,NUMERO_DANS_VOIE+ ' ' +VOIE,LOCALITE,CODE_PAYS,CODE_POSTAL,DATE_NAISSANCE,EMPLOYEUR,GETDATE(),GETDATE() FROM OPENQUERY("ACL-BITNAMI",'SELECT * FROM ACL_CYR.dbo.SOC_SIGNAL') AS S LEFT JOIN sugarcrm_db.dbo.contacts AS C ON S.MATRICULE=C.id Collate French_CI_AS WHERE C.id IS NULL;
Bonjour,
Je crois que les guillemets ne sont pas nécessaires sur le nom du serveur lié.
Vous devriez pouvoir exécuter directement :
@++
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 INSERT INTO sugarcrm_db.dbo.contacts ( id , first_name , last_name , primary_address_street , primary_address_city , primary_address_country , primary_address_postalcode , birthdate , title , date_entered , date_modified ) SELECT MATRICULE , NOM , PRENOM , NUMERO_DANS_VOIE+ ' ' +VOIE , LOCALITE , CODE_PAYS , CODE_POSTAL , DATE_NAISSANCE , EMPLOYEUR , GETDATE() , GETDATE() FROM ACL-BITNAMI.CL_CYR.dbo.SOC_SIGNAL AS S LEFT JOIN sugarcrm_db.dbo.contacts AS C ON S.MATRICULE = C.id Collate French_CI_AS WHERE C.id IS NULL;
Ben alor je doit pas avoir les mêmes apostrophes car chez moi tous est soulignès en rouge quand j'en met, et la requete s'execute pas.Déjà, vous avez des guillemets là où vous devriez avoir des apostrophes ("ACL-BITNAMI").
Alor que avec les guillemets cela marche très bien.
j'obtiens l'erreur
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 INSERT INTO sugarcrm_db.dbo.contacts ( id , first_name , last_name , primary_address_street , primary_address_city , primary_address_country , primary_address_postalcode , birthdate , title , date_entered , date_modified ) SELECT MATRICULE , NOM , PRENOM , NUMERO_DANS_VOIE+ ' ' +VOIE , LOCALITE , CODE_PAYS , CODE_POSTAL , DATE_NAISSANCE , EMPLOYEUR , GETDATE() , GETDATE() FROM ACL-BITNAMI.ACL_CYR.dbo.SOC_SIGNAL AS S LEFT JOIN sugarcrm_db.dbo.contacts AS C ON S.MATRICULE = C.id Collate French_CI_AS WHERE C.id IS NULL;
sur la ligne FROM ACL-BITNAMI.ACL_CYR.dbo.SOC_SIGNAL AS SIncorrect syntax near '-'.
a+
Arf, je voulais dire square brackets (crochet en français ?).
[ACL-BITNAMI]
Pour l'OPENQUERY, ça marche avec des guillemets aussi bien qu'avec les crochets, en tout cas, en 2005 et 2008 R2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM OPENQUERY( "MACHINE-666\SQLEXPRESS_2008", 'SELECT @@servername AA, SERVERPROPERTY(''ProductVersion'') BB') SELECT * FROM OPENQUERY( [MACHINE-666\SQLEXPRESS_2008], 'SELECT @@servername AA, SERVERPROPERTY(''ProductVersion'') BB')
Au temps pour moi, j'ignorais que les guillemets avaient le même emploie que les crochets.
C'est bon ca marche il fallait bien remplacer "ACL-BITNAMI" par [ACL-BITNAMI]
Je comprend pas pourquoi cela marche dans un cas et pas dans l'autre.
Merci pour les reponses
ca marche toujours pas avec les JOB
j'ai donc utiliser la deuxieme methode et la ca marche que avec les []
Dans ce cas, vous pouvez créer une tache planifiée sous Windows qui lance les requêtes avec sqlcmd.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager