I understand that this question is quite old, but I am posting this for the benefit of any poor souls forced to deal with the ACT Framework.
1: What database technology does ACT use?
SQL Server (Express or Standard, depending on version and number of users).
Is SQL Server? In this case, should I be able to connect just like any SQL Server database?
Not necessary. ACTReader Utility (shipped with ACT!) Allows you to create a read-only user account directly to your ACT! SQL Server Database You may be able to get your way in , but that will probably deprive you of Sageβs support if something goes wrong. Given the heavy docking and funky differences between database column names and interface field names, this might not be a good idea, even if you have access to sa.
2: Is there a class library or API for .Net from ACT that will help achieve this?
There may be pre-prepared wrapper classes to simplify the ACT api. I doubt they are free given ACT! As a rule, in most cases, tips for ACT are available! "consultants" to find new clients ... Alternatively, you can download the "SDK" from ACT !, but itβs mostly useless, since the examples arent very clear and all the dll files you need to use .NET ACT! api are installed during the installation of ACT!
3: Any sample code or article that will help implement this will be helpful.
I had to learn from pieces of dozens of posts on whiteboards, but I finally managed to write a C # import utility to grab contacts on a site from my PHP / MySQL web server (sorry I didn't do any ASP.NET stuff yet). The following is an example that illustrates only the basics in which you need to insert a contact in ACT !:
Disclaimer: this is for ACT 2012, it is not known whether previous or future versions will work the same.
First: ACT! 2010 and 2012 uses .NET 3.5, so be sure to install your project as such. You may also need to specify the target x86 processor in the Visual Studio project. Incorrect settings will lead to the creation of a VersionMismatchError
you need to include links to the ACT.dll files that are located in the global assembly cache folders (provided that ACT is installed on this computer).
To simply import the address, you will need the following GAC.dll files:
Act.Framework Act.Shared.Collections
Program Example:
using System; //etc... using Act.Framework; using Act.Framework.Contacts; namespace ImportToACT { class Program { static void Main(string[] args) { ActFramework ACTFM = new ActFramework(); ACTFM.LogOn(("\\\\Path\\To\\Your\\padfile.pad"), "Username","Password"); Contact newContact = ACTFM.Contacts.CreateContact(); newContact.Company = "Springfield Nuclear Power Plant"; newContact.FullName = "Homer J Simpson"; newContact.ContactFields["Contact.Address 1", false] = "742 Evergreen Terrace"; newContact.ContactFields["Contact.City", false] = "Springfield"; newContact.ContactFields["Contact.State", false] = "OR"; newContact.ContactFields["Contact.Country", false] = "United States"; newContact.ContactFields["Contact.Zip", false] = "90701"; newContact.ContactFields["Contact.Phone", false] = "(939) 555-0113"; newContact.ContactFields["Contact.E-mail", false] = " chunkylover53@aol.com "; newContact.Update(); ACTFM.LogOff(); return; } } }
From what I can collect, the ContactFields bool 2nd isReal value determines whether you are referring to a real database column (true) or a field name in the action interface (false), which does not always correspond to the data of the column input field. I am having problems with using the column name of the true database, so I just sent the field name route.
You will also notice that the Contact object has other properties, such as FirstName and LastName, but they are read-only. For some reason ACT! wants you to enter the name FullName and allow it to parse the first name, first name and last name.
Good luck !!