Откройте шалфей 300 AccPac DBLink Подключение к сеансу

Я пытаюсь написать код C# вокруг открытия Sage 300 Connection с помощью C#. Я использую библиотеку Acccpac.Advantage.

Вот мой код

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, похоже, будет успешным. Если я введу недопустимый идентификатор пользователя или компании, я получу ошибки, как и ожидалось. (статус connestion, кажется, говорит открытый в любом случае).

Мой вопрос - что происходит с паролем, который, кажется, не используется, и 2 - когда я закончу с тем, что я делаю, есть ли способ правильно закрыть соединение?

DLL-файл Accpac.Advantage v 2.0.50727, и я подключаюсь к среде Sage 300 2014.

2 ответа

На самом деле, и Session, и DBLink реализуют IDisposable, и для завершения сеанса будет достаточно вызова.Dispose (или ключевое слово using). (Я бы хотел добавить это как комментарий, но не смог).

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

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