Синхронизация данных Sage 100 из источника данных ODBC с базой данных MySQL

Я пытаюсь настроить удаленный доступ к данным Sage 100 Advanced ERP для использования на веб-сайте, работающем в базе данных MySQL. Мне нужно только получить уровни запасов для продуктов, так что это приложение только для чтения.

Насколько я понимаю, Sage 100 поставляется с драйвером ODBC, который может разрешить удаленный доступ к хранилищу данных в плоских файлах Sage путем создания представления базы данных. Что мне нужно сделать, так это скопировать несколько полей из этих данных на сервере Sage на веб-сервер, на котором размещен веб-сайт.

Чтобы автоматизировать этот процесс, я предполагаю, что мне нужно настроить задание cron на веб-сервере, которое запускает PHP-скрипт (предпочтительный язык), выполняя SQL-запросы, которые подключаются к удаленному серверу, извлекают необходимые данные и записывают их в соответствующий таблицы в базе данных MySQL. Меня устраивает этот последний шаг, но я не уверен в шагах по подключению и извлечению данных из источника данных ODBC.

Как я могу подключиться и извлечь данные Sage 100 из источника данных ODBC для записи в базу данных MySQL на другом сервере?

Или есть способ синхронизировать / зеркалировать источник данных ODBC с базой данных MySQL на отдельном сервере, который я мог бы затем использовать для копирования данных в базу данных веб-сайта?


Примечание. У MySQL есть документация по получение данных ИЗ MySQL с использованием ODBC, но нет информации о том, как импортировать данные В MySQL с помощью ODBC на внешнем сервере.


person Michael Yaeger    schedule 08.12.2016    source источник
comment
Есть ли у кого-нибудь опыт работы с ODBC - ›MySQL?   -  person Michael Yaeger    schedule 11.01.2017
comment
Вы нашли решение?   -  person Newton Sheesha    schedule 06.10.2017
comment
@NewtonSheesha, решения не нашел. Мы пошли по пути (дорогостоящего) стороннего коннектора, который использует проприетарную промежуточную базу данных.   -  person Michael Yaeger    schedule 06.10.2017
comment
@MichaelYaeger, что ты в итоге использовал? Мы пытаемся найти инструмент интеграции Sage 100 ERP с WordPress или magento.   -  person Billy Fischbach    schedule 05.04.2018
comment
@BillyFischbach, предпочтительным инструментом был eBridge Connections.   -  person Michael Yaeger    schedule 06.04.2018


Ответы (1)


На самом деле это очень просто. Просто установите ODBC-соединение с SOTAMAS90 DSN. Строка подключения выглядит так:

"DSN = SOTAMAS90; UID = MyUserId; PWD = MyPassword; Company = ABC"

Обратите внимание, что по умолчанию Sage устанавливает 32-разрядную версию драйвера, что означает, что вы должны настроить свое приложение на 32-разрядную версию. Или вы можете установить 64-битную версию драйвера, которую можно найти в вашем каталоге Sage, в папке WKSetup.

После этого просто напишите код для SELECT * из каждой из нужных таблиц и запишите их в свою базу данных MySql.

Я не очень хорошо знаю MySql, но в SQL Server вы можете настроить связанный сервер, указать его на SOTAMAS90, а затем запросить базу данных SQL Server вместо драйвера ODBC. Но это медленно. Намного лучшая производительность, если вы можете запускать ночной ETL для заполнения вашей базы данных MySQL и запроса ее. Обязательно установите внешние ключи и создайте для них индексы после определения таблиц.

Надеюсь, это поможет.

Аарон

person FunkMonkey33    schedule 26.03.2019