Just a quick little post which I hope might help some folks out there.
Over the last few days I had the need to totally re-blow my workhorse iMac. I have had various versions of MacOs on my bad boy since 2015 and it was getting to the point where logging in was taking about 15 mins each day – which was, to say the least somewhat irritating!
To cut a long story short I ended up with a nice, new, clean Image of MacOs Catalina (10.15.4) and very cool it is to on the machine and the general speed issues have thankfully been fixed by a complete refresh of the O/S (who says Macs aren’t like Windows?).
However, last night a little niggle crept in. Nothing earth shattering – just every 15 mins or so I would be prompted for my O365 password to sync my Exchange online calendar to the Apple calendar locally. I would click on the prompt to enter the password and would get the following error message:
There was an error in internet accounts preferences.
I also found that I could not remove the Exchange account from Internet Accounts in System Information, so there I was stuck with the recurring message every 15 minutes.
It was very odd, as when I had setup all of my accounts the Exchange calendar was working perfectly – it just decided randomly it didn’t want to play ball.
From a quick swiz around on the old Internet this seems to be a problem that a few people are having with Catalina – but, I couldn’t find any solutions to the problem … so “bugger” I thought.
I pondered the situation for a bit and then had the idea that it might be a good idea to try and figure out how the Internet Accounts preferences are stored on a Mac as the issue struck me as potentially this could be some form of corruption in a file somewhere. My idea was drawn from my old Windows days where things like that could usually be tracked to a registry entry or configuration file.
After some research I discovered that the Internet Accounts information is stored in the following location:
Looking at the files I could see that they appeared to belong to a sqllite database: (of course, why would Apple use something as simple as an XML file – nope, a SQL instance is needed – clearly)!
This then helped me develop a hunch that if I could have a sneaky look into the database I might be able to see what was corrupted – or – delete the entry for my Exchange Online Calendar that the operating system interface wasn’t allowing me to.
So, to the rescue was a little tool that I’ve been aware of called DB Browser for SQLLite for a number of years so I downloaded it and fired it up.
I clicked on the “Open Database” button (highlighted in Red) and navigated to my user profile.
As a point of note the “Library” folder in the user profile is hidden by default, so to see it in the open dialogue you need to press down “Command->Shift->.” (full stop).
Once in the folder. I then found the “Accounts4.sqllite” database in /Users/<Your account>/Library/Accounts and opened it.
I selected the ZACCOUNT (makes sense right …. ) table by right clicking and from the popup menu that appeared I selected the “Browse Table” option (highlighted in Red).
I found a value for Exchange in the ZACCOUNTDESCRIPTION column – selected the Row by right clicking and chose the “Delete Record” option.
I then closed the application making sure that I clicked on the “Save” button.
After I had made the changes to the database I went back into “System Preferences -> Internet Accounts” and found that the Exchange online entry was now gone. I was able to set the account up again which then correctly started syncing my calendar entries again and no more password prompts!
I hope that helps someone along the way – next up I need to figure out why I have so many duplicate public holiday entries in my calendar that don’t appear consistently elsewhere!