我写信是为了征求您的意见,您是否建议选择解决方案。
我总结一下:
- Axapta数据库在MS SQL Server 2008 R2。
- 通过PHP web应用程序使用数据库数据进行几个SQL查询。
- web server,正在运行web应用程序。
- 没有Axapta数据库的管理员权限(只有SELECT权限)
- MySQL数据库在web服务器上的写和修改权限。
- 装有Windows操作系统的轻型计算机在网络上永久工作。在这台轻型计算机上,我有管理员权限。
这是我想要达到的目标:
- 在web服务器上创建几个(10)表的复制(精确副本)作为另一个数据库,它将尽可能频繁地与Axapta数据库同步。
- 为新数据库添加一些字典表和视图(以便能够将字典插入到早期的SQL查询中)。
现在,我想出了这样的解决方案:
- 我试图在Axapta数据库上添加"替换"answers"case when"到SQL查询,没有任何其他额外的数据库。然而,使用这些新的大型字典,查询性能很差,等待结果让我发疯;)
- 我唯一能做的就是通过ODBC手动导出到MySQL web服务器数据库。有没有免费的程序可以自动完成这个过程?我的意思是;每小时从Axapta MSSQL数据库更新数据到web服务器MySQL数据库(在我之前提到的这台轻型计算机的帮助下)?
请让我知道,如果你看到任何其他的可能性来扩展使用Axapta数据库的web应用程序的效用。
我不知道是否有一些SQL同步代理从MSSQLServer到MySQL。如果您正在编写自己的工具,您可以尝试自己获取diff:
- 删除在MSSQLServer中RecId不可用的MySQL记录
- 为未知RecId的MSSQLServer记录插入新记录
- 更新ModifiedDateTime大于上次同步时的记录
最后我找到了一个强大的解决方案,并把它推荐给所有有类似问题的人。PDI -Pentaho数据集成(社区版)是完成我上面提到的字典转换的完美方法。它甚至可以读取。xls或。txt文件。你可以从下面的链接得到它,不要忘记成为活跃的开发者社区成员。http://community.pentaho.com/projects/data-integration/