想知道这里的人是否能提供帮助.
我被要求开发一个ASP.Net应用程序,它将直接连接(存储和检索)到ACT!数据库已经正常运行.我是ACT的新手,正在寻找一个将其与ASP.Net应用程序集成的起点.特别是我正在寻找以下问题的答案:
1. ACT使用什么数据库技术?是SQL Server吗?在这种情况下,我应该能够像任何SQL Server数据库一样连接?
2. ACT的.Net是否有任何类库或API可以帮助实现这一目标?
3.任何帮助实现此功能的代码示例或文章都会有很大帮助.
期待回应.
非常感谢,
阿里 最佳答案 我意识到这个问题已经很老了,但是我发布这个问题是为了任何被迫处理ACT框架的可怜人.
1:
ACT使用什么数据库技术?
SQL Server(Express或Standard,取决于版本和用户数).
是SQL Server吗?在这种情况下,我应该能够像任何SQL Server数据库一样连接?
不必要. ACTReader实用程序(ACT!附带)将允许您直接创建一个只读SQL用户帐户! SQL Server数据库. You may be able to force your way in但如果出现问题,这可能会使你从Sage获得的任何支持无效.鉴于数据库列名和接口字段名之间存在大量连接和时髦差异,即使您确实具有sa访问权限,也可能不是一个好主意.
2:ACT的.Net是否有任何类库或API有助于实现这一目标?
可能有预先编写的包装类来简化ACT api.考虑到ACT,我怀疑他们是免费的!帮助留言板似乎主要是为了ACT的利益而存在!寻找新客户的“顾问”……
此外,您可以从ACT!下载“SDK”,但它几乎没用,因为示例不是非常清楚,您需要使用.NET ACT的所有DLL文件!安装ACT时安装了api!
3:任何帮助实现此功能的代码示例或文章都会有很大帮助
我不得不通过几十个董事会帖子的点点滴滴来学习,但我终于设法编写了一个C#import实用程序来从我的PHP / MySQL网络服务器中获取网站联系人(抱歉还没有做任何ASP.NET的东西).这是一个精简的例子,展示了将联系人插入ACT所需的基础知识!:
免责声明:这是针对ACT 2012的,如果以前版本或未来版本的工作方式相同,则不得而知
第一:ACT! 2010年& 2012使用.NET 3.5,因此请确保将项目设置为此类.此外,您可能必须在Visual Studio项目中指定x86目标CPU.如果没有正确的设置将抛出VersionMismatchError
您需要在全局程序集缓存文件夹中包含引用ACT .dll的引用(假设您在该计算机上安装了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)还是act接口中的字段名称(false),它不总是对应于保存字段数据的列名.我在使用真正的数据库列名时遇到了问题所以我只是去了字段名称路由.
您还会注意到Contact对象具有FirstName和LastName等其他属性,但这些属性是只读的.出于某种原因,ACT!希望您输入FullName并让它解析名字,中间名和姓氏.
祝好运!!