8 Replies Latest reply: Jan 27, 2014 5:06 AM by Meriem ABOULAAYAD RSS

    Qlikview EDX and SSIS Issues

    Eamonn O'Brien

      Hi

       

         I was wondering if anyone could help me. Is it possible to end a task using a EDX commnad?

      We are currently testing Qlikview 11 using a SSIS package system and we are encountering problems where the

      EDX executable file quits unexpectedly but the Qlikview Task remains running on the Qlikview Server.

      Would anyone know in anyway in how to overcome this issue?

       

      Any help would be much appreiciated.

       

      Kind Regards

      Eamonn

        • Re: Qlikview EDX and SSIS Issues
          Bill Britt

          What version of QlikView are you running?

           

          Bill

          • Re: Qlikview EDX and SSIS Issues
            Henrik Matz

            I have seen this issue in some cases, and not solved it yet.

             

            But i  thougt about a solution, that might helps.

             

            If you are using a SSIS execute process task and execute the QMSEDX.exe file you could try to add a timeout parameter that is longer that the expected total reload time of your QlikView task.

             

            Something like this:

             

            QMSEDX.exe

            -qms="http://localhost:4799/qms/service"
            -task="taskname"
            -timeout=600

             

            Please let me know if it works, cause i

             

            /Henrik

              • Re: Qlikview EDX and SSIS Issues
                Eamonn O'Brien

                Hi Henrik

                 

                     Thanks for getting back to me on this. The issue lies in that the SISS executes the EDX with a Timeout setting of 3 hours. What happens is that the EDX quits unexpectedly and returns a process error code of 255 to SSIS but the Qlikview Console contines to run the Job until it has completed.

                    

                               Is there a Job Kill command that we could use that if SSIS recieves that 255 process error, it could execute another process Task that that would end that job?

                 

                Please let me know what you think?

                 

                Kind Regards

                Eamonn

                  • Re: Qlikview EDX and SSIS Issues
                    Henrik Matz

                    As I see it, you can do either, in your SSIS environment:

                     

                    1) Set FailTaskIfReturnCodeIsNotSuccesValue=False and then accept the error.
                    2) Set FailTaskIfReturnCodeIsNotSuccesValue=False and catch the return code in a variable and the create your own error-handling in SSIS, where you specific handle code 255

                    3) Make a add to your Qlikview script, where you tell the SQL server ETL job that QlikView has finish ok. You can create a store procedure for this an use this in a load statement in QlikView. In this case you should also set FailTaskIfReturnCodeIsNotSuccesValue=False

                     

                    /Henrik

                      • Re: Qlikview EDX and SSIS Issues
                        Eamonn O'Brien

                        Hi Henrik

                         

                                    This is a very good workaround but ideally we would love to be able to kill the job from SISS either through a direct command or an executable file. The reason for this is that the SSIS packages needs to log other parameters that the QVW would not be aware of.

                         

                        Could this be done?

                         

                        Chees

                        Eamonn

                          • Re: Qlikview EDX and SSIS Issues
                            Eamonn O'Brien

                            Hi

                             

                                 Just to let anybody who has this issue know that I found a solution.

                            I have now coded an Error Handler within the QMSEDX.exe that has successfully neutralized that Process Error Code 255. When the error now occurs, the Error Handler successfully catches the error and retries the polling process.

                             

                            Let me know if ye have any queries.

                             

                            Please see below the C# Code needed to implement this

                             

                            ----------------Code ---------------------------------------------------------

                            try

                            {

                            TraceMessage(TraceLevel.Info, String.Format("Successfully started task with id/name={0}", _taskIdOrName));

                             

                            EDXStatus mainTaskResult = PollSingleTask(client, triggerResult.ExecId, _pollIntervall, _timeout);

                             

                            List<EDXStatus> triggeredEDXStatuses = MonitorTriggeredTasks(client, mainTaskResult.TriggeredTasksId);

                             

                            totalResult = AnalyseResult(mainTaskResult, triggeredEDXStatuses);

                            }

                            catch (Exception ex)

                            {

                            Console.WriteLine("An error occured: " + ex.Message);

                            Console.WriteLine("An error occured: " + ex.Source);

                            Console.WriteLine("An error occured: " + ex.InnerException);

                            Console.WriteLine("An error occured: " + ex.HelpLink);

                            Console.WriteLine("Trying Again");

                             

                            TraceMessage(TraceLevel.Info, String.Format("Re-Initialised Communication With id/name={0}", _taskIdOrName));

                             

                            EDXStatus mainTaskResult = PollSingleTask(client, triggerResult.ExecId, _pollIntervall, _timeout);

                             

                            Console.WriteLine("Polling Complete");

                             

                            List<EDXStatus> triggeredEDXStatuses = MonitorTriggeredTasks(client, mainTaskResult.TriggeredTasksId);

                             

                            Console.WriteLine("Monitored Trigger Tasks Complete");

                             

                            totalResult = AnalyseResult(mainTaskResult, triggeredEDXStatuses);

                             

                            }

                             


                              • Re: Qlikview EDX and SSIS Issues

                                Hello I have the Process Error Code 255  is sent to the scheduler whenever there is aa long QVD reload , and this blocks the launch of the other tasks from the scheduler  however  for the other qvw document that are less time consuming when launched the error dooesn't reproduce, where do i need to implement your C# code ? thanks in advance