Только что видел это.Извиняюсь за 9-месячную задержку.Возможно, вы уже поняли это или нашли способ обойти это, но здесь для следующего человека, у которого тот же вопрос:
Да, это не только возможно, но и довольно просто.Это простое соединение ODBC с SOTAMAS90 DSN.Вот строка подключения:
"DSN = SOTAMAS90; UID = myUserId; PWD = myPassword, Company = XXX"
Просто убедитесь, что myUserId имеет правильные разрешения (вы установили их вПоддержка пользователей / ролей в модуле «Мастер библиотеки».Затем используйте обычные методы ODBC для чтения данных.Это автоматически доступная только для чтения база данных.
Обратите внимание, что по умолчанию при установке Sage 100 устанавливается только 32-разрядный драйвер ODBC. 64-разрядная версия находится в каталоге WKSetup в вашей установке Sage.папка.
Также, к сожалению, это немного на медленной стороне.Поскольку Sage 100 использует свой собственный механизм хранения данных на основе файлов, а не реляционную базу данных для хранения своих данных, он на самом деле не имеет доступа к некластеризованным индексам.Это делает каждое предложение WHERE в основном полным просмотром таблицы.В прошлом, когда я решал проблему с производительностью, я создал ночное задание ETL, чтобы скопировать все необходимые мне таблицы MAS в СУБД, например, SQL Server или MySql, а затем создать индексы для всех.внешние ключи и столбцы мне нужно искать.Если вам нужны более свежие данные, чем каждые 24 часа, вы можете программировать пользовательские сценарии для таблиц MAS, которые обрабатывают такие события, как запись, удаление и обновление.В этих скриптах вы можете подключиться к вашей базе данных SQL и создать / обновить / удалить необходимую запись.
Конечно, в зависимости от версии Sage и параметров установки может быть более 1000 таблиц, поэтому выбирайте мудро.
Удачи.
Аарон