0

我正在尝试围绕使用 C# 打开 Sage 300 Connection 编写 c# 代码。我正在使用 Acccpac.Advantage DLL。

这是我的代码

try
{
    sage300Session.Init(sessionHandle, appID, programName, appVersion);
    sage300Session.Open(_user, _ppswd, _companyID, DateTime.Today, 0);

    // Open a database link.
    sage300DbLink = sage300Session.OpenDBLink(DBLinkType.Company, DBLinkFlags.ReadWrite);
}

我遇到的问题是,无论我输入什么密码,对 .Open 的调用似乎都成功了。如果我输入了无效的用户或公司 ID,我会按预期收到错误。(连接状态似乎是打开任何一种方式)。

我的问题是 - 似乎没有使用的密码发生了什么以及 2- 当我完成我正在做的事情时,有没有办法正确关闭连接?

Accpac.Advantage dll 是 v 2.0.50727,我正在连接到 Sage 300 2014 环境。

4

2 回答 2

0

事实证明,系统数据库中没有启用安全设置以要求密码登录。设置“解决”了问题并使用了密码。我从来没有找到断开会话的方法,所以当我完成处理时,我让它断开连接,让连接超出范围

于 2015-02-27T17:07:33.770 回答
0

实际上, Session 和 DBLink 都实现了 IDisposable 并且调用 .Dispose (或 using 关键字)就足以结束会话。(我本来想将此添加为评论,但不能)。

于 2015-07-21T11:22:46.557 回答