Error 2146827859 when importing from Synergist

SOLVED

We have three companies in Sage 50cloud Accounts Professional.  Two were set up some time ago, and the third one in the last year.  We import purchase invoices from a third party programme called Synergist which also has three companies to match Sage, and this works fine for the first two companies, but when trying to import from the third we just keep getting the message:-

B4D_RunScript - Failed to run script: Sage2.VBOLE

Error code:-2146827859  Line No:51  Char-2

Description: ActiveX component can't create object: 'SDOEngine.27'.

Set oSDO - CreateObject(cEngine)

Then a message that says:

**Batch ....... - UHNANDLED EXCEPTION FROM SAGE.  PART POSTING OF BATCH MAY HAVE OCCURRED.............  

... which I don't think is the issue, but suggests the problem lies within Sage. 

In the old days when we had similar issues we following advice, but under V27 this option has disappeared 

https://synergistexpress.zendesk.com/hc/en-gb/articles/115005806669-Method-Exception-Sage-Data-Objects-Sage-Data-Objects-Registration-error

All the settings in both systems seem fine, so I can't work out why we are hitting a wall on this one - any ideas happily received?

Thanks

Parents
  • 0

    I'm unfamiliar with Synergist but from the error it sounds like it is unable to load SDO (Sage Data Objects), which is essentially the Sage 50 UK software development kit (SDK) used by 3rd parties. The error is basically saying that Synergist is unable to load SDO for some reason. It does sound strange that this only affects one company and not others. as if this were an installation issue with SDO it would be an all or nothing situation and I'd not expect it to work for any company. Are all three companies using v27 data? One possible thing is that if the other 2 companies were using an earlier version e.g. v26 then it could be that SDO is correctly installed/registered for that version but not for v27. That is just guess work though.

    NOTE: Registration is a bit of an overloaded term here. The Synergist article you linked to is about registration of SDO from a licensing point of view i.e. proof that SDO is correctly licensed for use, basically a legal issue. This will not be the issue in your case, as based on your error message is is suggesting SDO might not be not registered from a COM point of view, or that it is registered but something is blocking/interfering with loading it. COM is a Microsoft standard to provide inter-process communication and reusable components. It is the core technology that SDO is built upon and how 3rd party developers consume and use the SDK. Registration from a COM perspective means Windows has been 'told' about the reusable component, SDO in this case, so it knows how to create/load it when the 3rd party application requests it. Your error message does suggest an issue in this area.

    As I say it is strange that it only affects one company as COM would be all-or-nothing but there is no harm in checking if SDO is registered for v27 on your machine - see my reply on this post about how to confirming if SDO is correctly registered https://www.sagecity.com/gb/sage-50-accounts-and-sage-50cloud-accounts-uk/f/sage-50-accounts-and-sage-50cloud-accounts-uk-general-discussion/175702/sage-data-objects-sdoengine-26-run-time-error--2147221164-80040154-class-not-registered (simply replace 26 for 27 in the instructions on that reply)

    Hope that helps

Reply
  • 0

    I'm unfamiliar with Synergist but from the error it sounds like it is unable to load SDO (Sage Data Objects), which is essentially the Sage 50 UK software development kit (SDK) used by 3rd parties. The error is basically saying that Synergist is unable to load SDO for some reason. It does sound strange that this only affects one company and not others. as if this were an installation issue with SDO it would be an all or nothing situation and I'd not expect it to work for any company. Are all three companies using v27 data? One possible thing is that if the other 2 companies were using an earlier version e.g. v26 then it could be that SDO is correctly installed/registered for that version but not for v27. That is just guess work though.

    NOTE: Registration is a bit of an overloaded term here. The Synergist article you linked to is about registration of SDO from a licensing point of view i.e. proof that SDO is correctly licensed for use, basically a legal issue. This will not be the issue in your case, as based on your error message is is suggesting SDO might not be not registered from a COM point of view, or that it is registered but something is blocking/interfering with loading it. COM is a Microsoft standard to provide inter-process communication and reusable components. It is the core technology that SDO is built upon and how 3rd party developers consume and use the SDK. Registration from a COM perspective means Windows has been 'told' about the reusable component, SDO in this case, so it knows how to create/load it when the 3rd party application requests it. Your error message does suggest an issue in this area.

    As I say it is strange that it only affects one company as COM would be all-or-nothing but there is no harm in checking if SDO is registered for v27 on your machine - see my reply on this post about how to confirming if SDO is correctly registered https://www.sagecity.com/gb/sage-50-accounts-and-sage-50cloud-accounts-uk/f/sage-50-accounts-and-sage-50cloud-accounts-uk-general-discussion/175702/sage-data-objects-sdoengine-26-run-time-error--2147221164-80040154-class-not-registered (simply replace 26 for 27 in the instructions on that reply)

    Hope that helps

Children
  • 0 in reply to Darron Cockram

    Hi Darron, thanks very much for that, I feel I am finally making some progress with this.  I checked and V27 SDO is not registered on my machine, V26 still seems to be there.  i tried running the C:\Users\david.caskie>regsvr32 C:\WINDOWS\system32\sg50SdoEngine270.DLL   *replacing 26 with 27*  but got the attached error message

    Not an expert so not sure about next steps, but at least we know what the problem is.  Any further suggestions would be most welcome?  Thanks, David 

  • 0 in reply to Dave12cd

    That error will be because the sg50SdoEngine270.DLL file does not exist in the system32/SysWOW64 folder due to the default installation path for SDO being changed in v27. Try this path instead:

    regsvr32 "C:\Program Files (x86)\Sage\Accounts\SDO\2021\sg50SdoEngine270.dll"

    Hopefully that will do the trick but if not it would suggest that v27 SDO is not installed on the PC. Easiest way to resolve that would be to run a repair of the v27 installation for Accounts.

  • 0 in reply to Darron Cockram

    You suggest I "run a repair of the V27 installation".  I have been trying this but not sure exactly how to go about it.  I have noticed in my Sage directory I have a "AccountsServicev26" folder, but not a v27 one, which I presume I should have.  Maybe some background would help - we hold our data centrally, but two users access Sage locally.  I suspect the laptop I am using has somehow not been updated to V27, but I can't see how I flush that through (which would presumably fix my problem).    Would this work I go back to "Activate Sage Software" under the Tools option in Sage?  Not brave enough to press the button on this without some reassurance.  Thanks,  David

  • 0 in reply to Dave12cd

    Running a repair of the v27 installation would be as simple as running the installer for v27 again. If you don't have this to hand you can always download it from https://my.sage.co.uk/downloadcentre.

    If you don't have a AccountsServicev27 folder then you don't have v27 installed so again the simple fix would be to download it from the above link and run the install/upgrade process. NOTE: If you are on a multi-user install and/or using Remote Data Access (formerly known as Sage Drive) then you need to make sure that all clients are updated to v27, and in the case of RDA you need to make sure you upgrade the 'main site' first.

    If you are unsure about the upgrade and want some assistance then you can always give our support team a call on 0191 479 5955 and they will be happy to help.

  • +1 in reply to Darron Cockram
    verified answer

    For your information I got this resolved.  

    We normally use an RDP connection to access Sage, but it seems the third party connection software is locally based.  We have a copy of Sage on each laptop which we used back in the day when we were office based.  That version of Sage had not been updated, so for some reason the new company linkage between the third party software and /Sage would not work with SDO’s (too technical for me), though the link worked for those already established.  When I eventually persuaded our support guys to update the desktop Sage version it worked.  Hurrah.

     Thanks for all your help with this, it was invaluable, and we got there.

  • 0 in reply to Darron Cockram

    Sorry, while i fixed this on one pc, our other Sage user has been unable to get it to work.  They have the correct version installed, and v27 seems to be fine.  They can transfer data to the other two companies but not the third one.  Error message is B4d_RunScript - Failed to run script: Sage2.VBOLE    Error code - 2146828266  Line 63  Char2        Description : Invalid or incorrect username or password.  Error source.Sage Data Objects Help File C:\Program Files (x86)\Sage\Accounts\SDO\2021\sg50SdoEngine270.HLP.              oWS.Connect strDataPath, strUser, strPass, "Example"

    I cannot fathom this one?  Thanks for any help,  David

  • 0 in reply to Dave12cd

    The smoking gun in that error message would be this part "Invalid or incorrect username or password". This simply means that the credentials that Synergist is using to try to connect to the data. Unfortunately as Synergist is a 3rd party tool that I am unfamiliar with, I could not why it is attempting to use the incorrect credentials, or how you can update it to use the correct ones. One you'd need to ask Synergist about I'm afraid.

    What is strange in the reference to the error source being sg50SdoEngine270.HLP which is the help file provided to 3rd party developers as part of our SDK. The help file isn't redistributable, so shouldn't be getting deployed. But regardless of that it is not 'executable' so cannot be running any code (if does contain code samples but not actual code) so cannot be the thing actually generating the error. I suspect that part of the message is a red-herring as realistically it must be Synergist generating the error.

    To be exact the "Invalid or incorrect username or password" message will be coming from SDO (our SDK provided to 3rd party developers) but only because Synergist will be providing the incorrect username/password for the dataset that is being connected to.

    Afraid I can't shed any more light on things than that I'm afraid. Best bet would be to contact Synergist as they should hopefully be able to advise how to reset any stored credentials.