11-07-2012 05:02 AM
I've written a WCF service which uses the ACT SDK to insert contacts into an ACT database in response to certain actions by its clients. The service runs in the .NET 3.5 runtime in IIS7 and works perfectly on my development machine.
I have now deployed it to our testing server, and it's failing to log on to the database, giving me instead a MissingMasterDatabaseException. I have carefully checked the PAD file and the database sharing for the database in question. On the server machine the ACT client is able to access the database via the same PAD file with no problems at all, so I'm a bit confused why the SDK can't manage it.
I'd appreciate any advice on avenues of exploration for figuring out what's going on here.
11-07-2012 06:06 AM
11-07-2012 06:31 AM
If they are using ACT! 2013 you will have to use .NET 4.0.
11-07-2012 07:05 AM
I think Stan may be correct, if you're framework application is running against version 15, you'll either need to build your application on .Net 4.0 or add a line to the applications config file to redirect to the correct version.
11-07-2012 09:25 AM
I should have mentioned, it's ACT 2010 which is why we're using .NET 3.5 for the service.
There isn't anything more to the message - it throws a MissingMasterDatabaseException. What I get back from it is:
Act.Framework.MissingMasterDatabaseException: Error in the application.
at Act.Framework.ActFramework.FailLogOn(Exception ex, TraceCategory tCat, TraceLevel tLevel)
at Act.Framework.ActFramework.LogOn(String userName, String password, String databaseType, String databaseHost, String databaseName, Boolean fireEvents, Boolean suppressTierCheck, Boolean suppressSchemaCheck, Boolean suppressLicenseCheck, Boolean allowTrialModeDeparture, LogonTrack tracklogon)
at Act.Framework.ActFramework.LogOn(String userName, String password, String databaseType, String databaseHost, String databaseName, Boolean fireEvents, LogonTrack tracklogon)
at Act.Framework.ActFramework.LogOn(String userName, String password, String databaseType, String databaseHost, String databaseName, LogonTrack tracklogon)
at Act.Framework.ActFramework.LogOn(String xmlPADFile, String userName, String password)
There aren't any inner exceptions.
As far as I can determine, the service process has access to the PAD file.
11-07-2012 10:32 AM
I'm sure you have already checked these next points, but for the sakes of thoroughness and to ensure we haven;t missed the basics; could you confirm the following:
1. SQL Server is installed and the SQL Service is running on the Test Server (mind you thsi would return an exception reporting the service is not running)
2. That the ADF has been attached to the dB manifest etc
The simplest way to check these points would be to confirm that ACT! has been installed on the server and that you are able to open up the ACT! dB on the server.
11-08-2012 06:47 AM
The only other time I've seen this, the problem was he was referencing the wrong framework version.