从任务/作业计划程序运行报告

问题描述

我正在尝试运行一个在 NAV 2015 中执行一些 sql 查询的报告

如果我手动运行报告,它运行良好,但是当我将它设置到任务计划程序中时,它会出错,因为它有一个试图加载到客户端的自动化。

我已将 CREATE 参数更改为 (FALSE,FALSE) 而不是 (FALSE,TRUE),因此它在服务器而不是客户端中运行,但是当我尝试编译时会出现此错误:

enter image description here

翻译: 无法在 NAV 服务器中创建自动化对象“sqlConnection”。您必须在客户端中创建它。

但是如果我在客户端创建它 CREATE(FALSE,TRUE) 它会给出错误

enter image description here

翻译: NAV 服务器试图返回客户端调用以创建自动化对象。 NAV Server 中不允许来自客户端的调用返回

这是代码:(循环公司表)

IF (STRPOS(LOWERCASE(Company.Name),'prueba') = 0) AND (STRPOS(LOWERCASE(Company.Name),'test') = 0) AND (STRPOS(LOWERCASE(Company.Name),'uat') = 0) AND (STRPOS(LOWERCASE(Company.Name),'prova') = 0) THEN BEGIN
  recWasteHeader.CHANGECOMPANY(Company.Name);
  IF recWasteHeader.COUNT > 0 THEN BEGIN
    recWasteLine.SETRANGE("Document Type",4);
    recWasteLine.SETRANGE("Business Type",2);
    recWasteLine.SETFILTER("Sub Contract No.",'<>%1','*NUL*');
    IF recWasteLine.FINDSET THEN BEGIN
      IF ISCLEAR(sqlConnection) THEN
        CREATE(sqlConnection,FALSE,FALSE);
      sqlConnection.Open(ConnectionString);

      IF ISCLEAR(sqlCommand) THEN
        CREATE(sqlCommand,FALSE);
      sqlCommand.ActiveConnection := sqlConnection;                      
      sqlCommand.CommandText := 'DELETE FROM [Noc Services Price] WHERE Empresa=' + q + Company.Name + q;
      sqlCommand.CommandType := 1;
      sqlCommand.Execute;

      REPEAT
        querydata := STRSUBSTNO(dataset,Company.Name,recWasteLine."Document No.",recWasteLine."Line No.",recWasteLine.Amount);
        sqlCommand.CommandText := 'INSERT INTO [Noc Services Price] (Empresa,Contracte,[Linea contracte],[PREU ACTUAL]) VALUES ( ' + querydata + ');';
        sqlCommand.Execute;
      UNTIL recWasteLine.NEXT = 0;

      sqlConnection.Close;      
    END;
  END;
END;

我也找不到 dotnet System.Data.sqlClient

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)