checkbox "Temporarily disabled" needs direct database access

Greetings everyone.

I have a little problem: my JobServer with ADS connector has no direct connection with 1IM DB (information security requirement), via AppServer (in Designer checkbox "No direct database connection" activated; connection data filled (checkbox "Fallback connection" does not activated). Everything work's fine i suppose.

If in Manager i change for Employee attributes: department, cos center or job description, then push "save" - works fine.

But if i try to change and save checkbox "Temporarily disabled" - error displayed "The process task needs direct database access but the server cannot access the database directly."
Is there a way to fix this behavior or do I need to use, for example, REST API?

Thanks,
Sergey

Parents
  • One process, that will be triggered by setting the mentioned flag, contains a pure SQL Job Task that cannot be run by a Job Service without a direct SQL connection.

  • strange behavior to be honest.
    even if i change "Temporarily disabled" flag with parameters: Job description, Description, Company member the result is the same - error "The process task needs direct database access but the server cannot access the database directly"

  • You may want to look at the processes assigned to the ADSAccount table. If you change the "Temporarily disabled" flag, this update flows to the linked accounts.

    Do you have only one Job Service or do you have more than one (one for SQL Tasks and one for the AD jobs)?

  • I have multiple servers (shorten the names for simplicity):

    with direct connection to DB - JS1 (one im connector, sql processing server, update server, csv connector)

    via AppServer - JS2, JS3 (almost identical: active directory connector, one im connector, csv connector)

  • Do you have any custom processes at the person table or at the ADSAccount table? If so, please check the assigned servers for the task. At least one task executing the SQLComponent or the DelayComponent is configured to run on JS2 or JS3 instead of JS1.

  • i found some clue but don't understand what doing with that.
    i have account definition to create user accounts in AD.
    IT operating data for that Acc.Def determined by cost center (there are few of them).
    each cost center has a customization for IT operating data.
    if i move employees between them - work's fine.

    before the problem was discovered: account definition for Exchange mailbox'es was created
    without any IT operating data
    Exchange account definition was linked to one of cost center's, let's name it CC1.

    2 employees was assigned to CC1. Mailboxes successfully created.

    problem only with that 2 employees in CC1.
    Other emloyees were not affected.

    Now i'm try to remove Exchange account definition, but proccess of mailbox deletion stuck(ONEDB is JS1 as i mentioned above):
    2021-06-03 15:09:16 +07:00 - \ONEDB - Process step parameter 0DB31848-8426-4E35-A46A-5799FA1798D1:
    [Job]
    ComponentAssembly=SQLComponent
    ComponentClass=VI.JobService.JobComponents.SQLComponent
    Task=Execute SQL
    Executiontype=INTERNAL
    [Parameters]
    ConnectionProvider=VI.DB.ViSqlFactory,VI.DB
    ConnectionString=Hidden
    ProcID=69463a73-3202-41f3-943e-59dc0c0d745a
    SQLStmt=delete BaseTreeHasTSBAccountDef where (XObjectKey in ('<Key><T>ProfitCenterHasTSBAccountDef</T><P>41e1d5a4-aa79-4241-b23d-68d4068fb661</P><P>9b1a9b3a-b712-40be-ad92-3fde4efd7c20</P></Key>')) and ( XOrigin = 0 )
    2021-06-03 15:09:16 +07:00 - \ONEDB - Process step parameter b337d5fe-37a2-4cc5-b17b-5d1b843f3698:
    [Job]
    ComponentAssembly=HandleObjectComponent
    ComponentClass=VI.JobService.JobComponents.HandleObjectComponent
    Task=Delete
    Executiontype=INTERNAL
    [Parameters]
    AuthenticationString=Hidden
    ConnectionProvider=VI.DB.ViSqlFactory,VI.DB
    ConnectionString=Hidden
    ObjectType=EX0MailBox
    ProcID=69463a73-3202-41f3-943e-59dc0c0d745a
    WhereClause=(UID_Person = '5834b6b7-2182-4d87-bcad-fa3848c6401c') and (UID_TSBAccountDef = '1539e507-7ad2-42bc-a2f9-f376e347cc1f')
    2021-06-03 15:09:16 +07:00 - Info: Requesting process steps for queue \ONEDB.
    2021-06-03 15:09:16 +07:00 - \ONEDB - Process step parameter a780971e-e529-4de2-92cc-72b44c305402:
    [Job]
    ComponentAssembly=HandleObjectComponent
    ComponentClass=VI.JobService.JobComponents.HandleObjectComponent
    Task=Delete
    Executiontype=INTERNAL
    [Parameters]
    AuthenticationString=Hidden
    ConnectionProvider=VI.DB.ViSqlFactory,VI.DB
    ConnectionString=Hidden
    ObjectType=EX0MailBox
    ProcID=69463a73-3202-41f3-943e-59dc0c0d745a
    WhereClause=(UID_Person = '90703955-3c1e-42b2-aa10-06ca75a153fc') and (UID_TSBAccountDef = '1539e507-7ad2-42bc-a2f9-f376e347cc1f')
    2021-06-03 15:09:16 +07:00 - \ONEDB - VI.JobService.JobComponents.SQLComponent - 0DB31848-8426-4E35-A46A-5799FA1798D1: Successful
    2021-06-03 15:09:16 +07:00 - Info: Last process step request succeeded.
    2021-06-03 15:09:17 +07:00 - \ONEDB - VI.JobService.JobComponents.HandleObjectComponent - a780971e-e529-4de2-92cc-72b44c305402: Errors occurred
    Error saving IDM_M.Amosov: [810306] Error during execution of 'OnGenerate' in logic module 'VI.DB.Entities.EventsEntityLogic'.
    [810103] Error generating processes for event DEACTIVATE.
    [810222] Error executing script 'Event_DEACTIVATE'.
    [810108] Error generation process step event DEACTIVATE.
    [810109] Error generating process EX0_2010_EX0Mailbox_Update/Deactivate.
    [810110] Error generating process step Check Mailbox still present in DB.
    [810336] The process task needs direct database access but the server cannot access the database directly.
    2021-06-03 15:09:17 +07:00 - \ONEDB - VI.JobService.JobComponents.HandleObjectComponent - b337d5fe-37a2-4cc5-b17b-5d1b843f3698: Errors occurred
    Error saving IDM_A.Amiramov: [810306] Error during execution of 'OnGenerate' in logic module 'VI.DB.Entities.EventsEntityLogic'.
    [810103] Error generating processes for event DEACTIVATE.
    [810222] Error executing script 'Event_DEACTIVATE'.
    [810108] Error generation process step event DEACTIVATE.
    [810109] Error generating process EX0_2010_EX0Mailbox_Update/Deactivate.
    [810110] Error generating process step Check Mailbox still present in DB.
    [810336] The process task needs direct database access but the server cannot access the database directly.

    at the same time log from JS2 (had no interesting information):
    2021-06-03 15:05:15 +07:00 - Info: Requesting process steps for queue \ONEJOB.
    2021-06-03 15:05:15 +07:00 - Info: Last process step request succeeded.
    2021-06-03 15:06:45 +07:00 - Info: Requesting process steps for queue \ONEJOB.
    2021-06-03 15:06:45 +07:00 - Info: Last process step request succeeded.
    2021-06-03 15:08:15 +07:00 - Info: Requesting process steps for queue \ONEJOB.
    2021-06-03 15:08:15 +07:00 - Info: Last process step request succeeded.
    2021-06-03 15:09:45 +07:00 - Info: Requesting process steps for queue \ONEJOB.
    2021-06-03 15:09:45 +07:00 - Info: Last process step request succeeded.
    2021-06-03 15:11:15 +07:00 - Info: Requesting process steps for queue \ONEJOB.
    2021-06-03 15:11:15 +07:00 - Info: Last process step request succeeded.
    2021-06-03 15:12:45 +07:00 - Info: Requesting process steps for queue \ONEJOB.
    2021-06-03 15:12:45 +07:00 - Info: Last process step request succeeded.
    2021-06-03 15:14:15 +07:00 - Info: Requesting process steps for queue \ONEJOB.

  • See, now I was able to identify the issue. The OOTB process "EX0_2010_EX0Mailbox_Update/Deactivate" is not using the server function "SQL processing server" for the process step "Check Mailbox still present in DB". That's why you see the error.

    As a workaround, you can change these settings in the OOTB process as shown in the screenshot. I'll route this product defect internally.

Reply Children
No Data