2010-04-09 4 views
4

Vous vous demandez si quelqu'un ici peut vous aider. On m'a demandé de développer une application ASP.Net qui va directement se connecter (stocker et récupérer) à l'ACT! la base de données est déjà fonctionnelle. Je suis nouveau à ACT et je cherche un point de départ pour l'intégrer avec l'application ASP.Net. En particulier, je cherche des réponses aux questions suivantes: 1. Quelle technologie de base de données est utilisée par ACT? Est-ce que SQL Server? Dans ce cas, je devrais être capable de se connecter comme n'importe quelle base de données SQL Server? 2. Existe-t-il une bibliothèque de classes ou une API pour .Net d'ACT qui vous aidera à atteindre cet objectif? 3. Tout exemple de code ou d'article pour aider à mettre en œuvre ceci sera d'une grande aide. Dans l'attente des réponses. Un grand merci, AliACT par sage intégration avec asp.net

Répondre

0

Cela ressemble à un endroit assez bon pour commencer:

http://www.act.com/support/resourcecenter/index.cfm

Une recherche rapide révèle que vous devriez être en mesure d'utiliser oledb et/ou ODBC pour se connecter à l'ACT. On dirait qu'il utilise le moteur de base de données Pervasive, donc il pourrait y avoir quelque chose à ce sujet dans Google.

Simon

2

je me rends compte de cette question est assez vieux, mais je poste ce pour le bénéfice des âmes pauvres contraints de traiter avec le cadre ACT.

1: Quelle technologie de base de données est utilisée par ACT? SQL Server (Express ou Standard, selon la version & Nombre d'utilisateurs)

Est-ce que SQL Server? Dans ce cas, je devrais être capable de se connecter comme n'importe quelle base de données SQL Server?

Pas nécessairement. L'utilitaire ACTReader (fourni avec ACT!) Vous permettra de créer un compte utilisateur SQL en lecture seule directement dans votre ACT! Base de données SQL Server. You may be able to force your way in mais cela annulera probablement tout support que vous pourriez avoir reçu de Sage si quelque chose ne va pas. Étant donné les fortes différences entre les noms des colonnes de la base de données et les noms des champs d'interface, il se peut que cela ne soit pas une bonne idée, même si vous avez accès à sa base de données.

2: Y a-t-il une bibliothèque de classes ou une API pour .Net d'ACT qui vous aidera à atteindre cet objectif?

Il peut y avoir des classes wrapper pré-écrites pour simplifier l'API ACT. Je doute qu'ils soient gratuits, compte tenu de l'ACT! Les forums d'aide semblent exister principalement pour le bénéfice d'ACT! "consultants" pour trouver de nouveaux clients ... En outre, vous pouvez télécharger le "SDK" à partir de ACT !, mais son surtout inutile car les exemples ne sont pas très claires et tous les fichiers dll dont vous avez besoin pour utiliser le .NET ACT! API sont installés lorsque vous installez ACT!

3: Tout exemple de code ou des articles pour aider la mise en œuvre ce sera d'une grande aide

je devais apprendre par des morceaux de dizaines de messages du conseil d'administration, mais j'ai finalement réussi à écrire un Utilitaire d'importation C# pour récupérer les contacts du site depuis mon serveur web PHP/MySQL (désolé, je n'ai fait aucun ASP.Trucs NET encore). Voici un exemple montrant distillé en bas seulement les bases dont vous avez besoin d'insérer un contact dans ACT !:

Avertissement: ceci est pour ACT 2012, ignore si les versions précédentes ou à venir fonctionneront de la même manière

Première : ACT! 2010 & 2012 utilise .NET 3.5, alors assurez-vous de définir votre projet en tant que tel. De même, vous devrez peut-être spécifier le processeur cible x86 dans votre projet Visual Studio. Si vous ne possédez pas les paramètres corrects, vous devrez ajouter une version de VersionMismatchError

et d'inclure des références aux fichiers ACT .dll, qui se trouvent dans les dossiers du Global Assembly Cache (en supposant que ACT soit installé sur cette machine).

Pour seulement importer une adresse, vous avez besoin des fichiers .dll GAC suivants:

Act.Framework 
Act.Shared.Collections 

programme exemple:

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] = "[email protected]"; 

      newContact.Update(); 
      ACTFM.LogOff(); 

      return; 
     }   
    } 
} 

De ce que je comprends, les ContactFields Bool 2ème valeur isReal détermine si vous font référence à une colonne de base de données réelle (true) ou à un nom de champ dans l'interface act (false), ce qui ne correspond pas toujours au nom de colonne contenant les données du champ. J'ai eu des problèmes avec l'utilisation du vrai nom de la colonne de la base de données, donc je suis juste allé la route du nom du champ.

Vous remarquerez également que l'objet Contact a d'autres propriétés telles que FirstName et LastName, mais celles-ci sont en lecture seule. Pour une raison quelconque, ACT! veut que vous entriez le nom complet et laissez-le analyser le prénom, le prénom et le nom.

Bonne chance !!

+0

également si la machine qui exécute le programme d'importation C# n'a pas ACT! installé, vous devrez vous assurer d'avoir des copies locales de tous les fichiers .dll nécessaires – WebChemist