2010-10-25 22 views
2

J'ai quelques travaux SQL Server Agent en cours d'exécution dans mon projet. Les travaux fonctionnent parfaitement comme prévu, pas de problèmes. Mais maintenant je dois être en mesure de démarrer ces tâches depuis le frontal (comme sur un clic de bouton ou plus).comment démarrer un travail d'agent de serveur sql à partir du code java

Comment puis-je le faire?

Ces tâches se comportent-elles comme des fonctions?

Répondre

1

vous pouvez l'appeler en utilisant le sp_startjob proc

exemple

EXEC msdb.dbo.sp_start_job N'MyJobName'; 
+0

Devrais-je utiliser l'instruction callable? J'utilise java spring hibernate. Appréciez un exemple de code. – oceandrive

3

Vous pouvez le faire avec un connecteur db j'ai essayé - voici des exemples couple ...

en utilisant CallableStatement:

Connection rConn = //however you get your connection... 
CallableStatement cs = rConn.prepareCall("EXEC dbo.sp_start_job N'your job name'"); 
boolean checkvar = cs.execute(); 

Sinon, si vous utilisez un tem jdbc plaque:

jdbcTemp = //however you get your template... 
jdbcTemp.update("EXEC msdb.dbo.sp_start_job N'" + procName + "'"); 

De même, vous devrez probablement ajuster les autorisations de msdb pour que cela fonctionne. Votre compte doit être un sysadmin ou avoir le rôle SQLAgentOperatorRole. Pour définir cela dans SQL Server Management, accédez à Sécurité sous votre moteur de base de données, développez les connexions, cliquez avec le bouton droit sur le compte que vous utiliserez et sélectionnez les propriétés. Sous Server Roles, vous pouvez attribuer sysadmin, ou sous User Mapping, cochez msdb, puis sélectionnez TargetServersRole et SQLAgentOperatorRole dans la liste ci-dessous.

hth

+1

Drôle d'histoire - la nuit dernière, nos administrateurs de bases de données ont arrosé la base de données sur laquelle j'avais défini les autorisations, comme indiqué ci-dessus, ce qui a provoqué l'échec de notre application. Je ne me souvenais pas des autorisations nécessaires, mais je me souvenais d'en avoir parlé à StackOverflow. Publier ici m'a sauvé des heures de re-rechercher les autorisations correctes! – plattitude