我想触发从AX作业运行SSIS包的SQL作业,我成功运行SQL代码,通过为作业创建菜单项从SQL表中获取一些记录,并让它在服务器上运行而不是客户端,但以下代码运行没有错误,但作业没有启动?
CODE:
static void TriggerAllocation(Args _args)
{
UserConnection userConnection;
Statement statement;
str sqlStatement;
SqlSystem sqlSystem;
SqlStatementExecutePermission sqlPermission;
;
sqlSystem = new SqlSystem();
sqlStatement = "EXEC MSDB.dbo.sp_start_job @Job_Name = 'MyJob'";
userConnection = new UserConnection();
statement = userConnection.createStatement();
sqlPermission = new SqlStatementExecutePermission(
sqlStatement);
sqlPermission.assert();
statement.executeQuery(sqlStatement);
CodeAccessPermission::revertAssert();
我找不到任何更多的线索,例如eventviewer,SQL记录出了什么问题..
亲切的问候,
麦克
[更新]感谢Alex K我解决了它!
使用
statement.executeUpdate(sqlStatement);
而不是
statement.executeQuery(sqlStatement);
做了伎俩!
请记住,直接从AX运行作业不会起作用,尽管: server static void 您必须使用属性RunOn = Server
创建一个类型为action的菜单项
答案 0 :(得分:2)
我应该把我的评论作为答案,但没有注意:
尝试server static void Trigger...
,也许statement.executeUpdate(...)
代替executeQuery
答案 1 :(得分:1)