ACT путем интеграции sage с asp.net

Хотите знать, если кто-то здесь может помочь. Меня попросили разработать приложение ASP.Net, которое будет напрямую подключаться (сохранять и извлекать) к ACT! база данных уже функционирует. Я новичок в ACT и ищу отправную точку для интеграции его с приложением ASP.Net. В частности, я ищу ответы на следующие вопросы: 1. Какая технология баз данных используется ACT? Такое SQL Server? В таком случае я должен быть в состоянии подключиться, как любая база данных SQL Server? 2. Есть ли какая-либо библиотека классов или API для.Net от ACT, которая поможет достичь этого? 3. Любой пример кода или статьи, которые помогут реализовать это, будут очень полезны. С нетерпением жду ответов. Большое спасибо, Али

2 ответа

Я понимаю, что этот вопрос довольно старый, но я публикую его для пользы бедных людей, вынужденных иметь дело с платформой ACT.

1: Какая технология базы данных используется ACT?
SQL Server (Express или Standard, в зависимости от версии и количества пользователей).

Такое SQL Server? В таком случае я должен быть в состоянии подключиться, как любая база данных SQL Server?

Не обязательно. Утилита ACTReader (поставляется с ACT!) Позволит вам создать учетную запись пользователя SQL только для чтения, чтобы напрямую использовать ACT! База данных SQL Server. Возможно, вам удастся пробиться, но это, вероятно, лишит вас поддержки от Sage, если что-то пойдет не так. Учитывая сильное объединение и причудливые различия между именами столбцов базы данных и именами полей интерфейса, это может быть не очень хорошей идеей, даже если у вас есть доступ sa.

2: Есть ли какая-либо библиотека классов или API для.Net от ACT, которая поможет достичь этого?

Там могут быть заранее написанные классы-обертки для упрощения API ACT. Я сомневаюсь, что они свободны, учитывая ACT! доски объявлений справки, кажется, существуют главным образом в пользу ACT! "консультанты", чтобы найти новых клиентов... Также вы можете скачать "SDK" из ACT!, но он в основном бесполезен, так как примеры не очень понятны, и все dll-файлы вам нужны для использования.NET ACT! API устанавливаются при установке ACT!

3: Любой пример кода или статьи, которые помогут реализовать это, будут очень полезны

Мне приходилось учиться по кусочкам десятков сообщений на форуме, но мне наконец-то удалось написать утилиту импорта C#, чтобы получать контакты сайта с моего веб-сервера PHP/MySQL (извините, пока еще ничего не делал в ASP.NET). Вот подробный пример, показывающий только основы, необходимые для вставки контакта в ACT!:

Отказ от ответственности: это для ACT 2012, неизвестно, будут ли предыдущие или будущие версии работать одинаково

Первый: ACT! В 2010 и 2012 годах используется.NET 3.5, поэтому убедитесь, что ваш проект настроен так. Также вам может потребоваться указать целевой процессор x86 в вашем проекте Visual Studio. Неверные настройки приведут к появлению ошибки VersionMismatchError.

вам нужно включить ссылки на ACT .dll, которые находятся в папках Global Assembly Cache (при условии, что на этом компьютере установлен ACT).

Для простого импорта адреса вам нужны следующие GAC.dll:

Act.Framework
Act.Shared.Collections

пример программы:

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;
        }        
    }
}

Из того, что я могу собрать, значение ContactFields bool 2nd isReal определяет, ссылаетесь ли вы на реальный столбец базы данных (true) или на имя поля в интерфейсе действия (false), которое не всегда соответствует имени столбца, содержащему данные поля. У меня были проблемы с использованием истинного имени столбца базы данных, поэтому я просто пошел по пути имени поля.

Также вы заметите, что объект Contact имеет некоторые другие свойства, такие как FirstName и LastName, но они доступны только для чтения. По какой-то причине ACT! хочет, чтобы вы указали FullName и позволили ему разобрать имя, отчество и фамилию.

Удачи!!

Это выглядит как достаточно хорошее место для начала:

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

Быстрый поиск показывает, что вы должны иметь возможность использовать oledb и / или ODBC для подключения к ACT. Похоже, что он использует движок базы данных Pervasive, поэтому в Google может быть что-то подобное.

Саймон

Другие вопросы по тегам