我正在尝试远程访问Sage 100 Advanced ERP的数据,以便在MySQL数据库上运行的网站中使用。我只需要获得产品的库存水平,因此它是一个只读应用程序。
据我所知,Sage 100附带一个ODBC驱动程序,可以通过创建数据库视图来远程访问Sage的平面文件数据存储。我需要做的是将Sage服务器上的数据中的一些字段复制到托管该网站的Web服务器上。
为了使这个过程自动化,我假设我需要在运行PHP脚本(首选语言)的Web服务器上设置一个cron作业,执行连接到远程服务器的SQL查询,提取所需的数据,以及将它写入MySQL数据库中的相应表。我在最后一步没问题,但我不确定从ODBC数据源连接和检索数据的步骤。
如何从ODBC数据源连接并提取Sage 100数据以写入另一台服务器上的MySQL数据库?
或者,有没有办法在单独的服务器上将ODBC数据源同步/镜像到MySQL数据库,然后我可以使用它将数据复制到网站的数据库?
注意:MySQL有关于pulling data FROM MySQL using ODBC的文档,但没有关于如何在外部服务器上使用ODBC导入数据 TO MySQL的信息。
答案 0 :(得分:0)
实际上非常容易。只需建立与SOTAMAS90 DSN的ODBC连接即可。您的连接字符串如下所示:
“ DSN = SOTAMAS90; UID = MyUserId; PWD = MyPassword;公司= ABC”
请注意,默认情况下,Sage安装32位版本的驱动程序,这意味着您必须将应用程序定位为32位。或者,您可以在Sage目录的WKSetup文件夹中安装64位版本的驱动程序。
之后,只需从所需的每个表中将代码写入SELECT *,然后将它们写入MySql数据库即可。
我不太了解MySql,但是在SQL Server中,您可以设置一个链接服务器,将其指向SOTAMAS90,然后查询SQL Server数据库而不是ODBC驱动程序。但这很慢。如果您可以每晚运行ETL来填充MySQL数据库并进行查询,则性能会更好。定义表后,请务必设置外键并为其创建索引。
希望有帮助。
亚伦