From what I can surmise, perhaps the ArmoryQt shortcut arg (directory locations) is not being passed on when it automatically spawns an instance of ArmoryDB, thereby not finding the specified database directories. It's most likely a far-fetched assumption on my part but if it is so, can you suggest a workaround?
The same pathing command line arguments that work on the client work on the DB. You can see the full list of DB cli arg here:
https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/BlockUtils.cpp#L812and these are the default paths:
https://github.com/goatpig/BitcoinArmory/blob/master/cppForSwig/BlockUtils.cpp#L704The DB will append /database to you datadir if no dbdir is specified.
If you have issues letting the client automate the DB spawning, I suggest you start the DB manually with the arguments you want and see how it operates. You will need to run ArmoryDB.exe in the command prompt.
Just out of curiosity, was there a reason/purpose of the binary split since it was working just fine up to 0.94.1?
Plenty of reason to split the server from the client. One is remote capability, another is multiple clients to one server, another is process isolation (after all, the client does everything wallets, the db does everything blockchain, and they dont intersect in these duties), another is to enable Armory to operate as a web stack element (one server in the backend, any number of clients over HTTP).
--------------------------
Ima digress here, TL;DR: it's awesome.
DB/client separation makes sense in the long term. 2 features needed in Armory are supernode and blocks over P2P. Blocks over P2P is a versatility and stability feature, supernode is a power user/professional feature. They both require aspects of the client/server separation.
Another benefit is splitting the code base, which will come in the future.
Overall this feature is inscribed in my vision for Armory. I want Armory to cater to high end users and professionals. Client/server separation is a must have in this case. Maybe this example will make my case better than a list of requirements:
When the likes of Microsoft and Dell add Bitcoin payment support, they're not integrating with Bitcoin, they are simply interfacing with a payment processor like Coinbase or BitPay.
It makes me die a little inside every time an IT giant approaches the Bitcoin space like your local florist integrates with Paypal. I would like there to be an industry standard, robust and full featured open source solution targeted at their needs, a kind of no brainer go to stack, and this is where I am trying to take Armory.
As for individual users, I fancy them all enthusiasts, and I believe their needs largely intersect with professional use cases. To give you another example, the reality towards with 0.95 is working, is that in the future you could have a server at home that runs your own Core and ArmoryDB instances, and with a JavaScript template, get your Armory GUI straight to your mobile phone, and offline sign with a Trezor on the spot, all the while fully verifying the blockchain with code you run and no privacy leak.
Imagine your friends and family are interested in Bitcoin. You could provide them with the full bitcoin experience with no privacy leak nor the need to rely on a 3rd party service. With supernode, you could even offer them a blockchain explorer service, again with no risk of privacy leaks.
Imagine in the future you are running a node to support your Lightning hub. You won't need a second node just to run Armory, point the DB to your existing one.
Imagine you want to setup a multisig scheme and split keys among several devices, some of which are online. You would be able to bounce the transaction stub between online devices, finalize and broadcast from any of these, all running against the same remote server. And then there's all the use cases I can't think of yet.
Put another way, it's the future! Flying cars and self drying clothes. Now, drink the koolaid!