Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在没有管理权限的情况下向Axapta数据库添加其他信息?_Php_Mysql_Sql Server_Axapta_Microsoft Dynamics - Fatal编程技术网

Php 如何在没有管理权限的情况下向Axapta数据库添加其他信息?

Php 如何在没有管理权限的情况下向Axapta数据库添加其他信息?,php,mysql,sql-server,axapta,microsoft-dynamics,Php,Mysql,Sql Server,Axapta,Microsoft Dynamics,我写这封信是为了征求您对是否推荐选择解决方案的建议 简而言之,我有以下几点: MS SQL Server 2008 R2上的Axapta数据库 通过PHP web应用程序使用数据库的数据进行多个SQL查询 运行web应用程序的web服务器 在Axapta数据库上没有管理员权限(仅选择权限) 使用MySQL数据库在Web服务器上进行写入和修改的权限 Windows操作系统在网络上永久工作的轻型计算机。在这台轻型计算机上,我有管理员权限 以下是我想要实现的目标: 在Web服务器上创建少数(10)个表

我写这封信是为了征求您对是否推荐选择解决方案的建议

简而言之,我有以下几点:

  • MS SQL Server 2008 R2上的Axapta数据库
  • 通过PHP web应用程序使用数据库的数据进行多个SQL查询
  • 运行web应用程序的web服务器
  • 在Axapta数据库上没有管理员权限(仅选择权限)
  • 使用MySQL数据库在Web服务器上进行写入和修改的权限
  • Windows操作系统在网络上永久工作的轻型计算机。在这台轻型计算机上,我有管理员权限
  • 以下是我想要实现的目标:

  • 在Web服务器上创建少数(10)个表的复制(精确副本)作为另一个数据库,这将尽可能经常地与Axapta数据库同步
  • 为新数据库添加一些字典表和视图(以便能够将字典插入早期SQL查询)
  • 目前,我提出了以下解决方案:

  • 我尝试将“replace”和“case-when”添加到Axapta数据库上的SQL查询中,而不添加任何其他数据库。然而,有了这些新的大型词典,查询性能很差,等待结果让我抓狂;)
  • 我唯一能做的就是通过ODBC手动导出到MySQL Web服务器数据库。是否有一个免费的程序来自动化这个过程?我的意思是,例如,每小时将数据从Axapta MSSQL数据库更新到webserver MySQL数据库(借助于我前面提到的这台轻型计算机)

  • 请让我知道,如果您看到任何其他的可能性来扩展使用Axapta数据库的webapplication的可用性。

    我不知道MSSQLServer到MySQL之间是否有SQL同步代理。 如果您正在编写自己的工具,您可以尝试自己获取差异:

    • 删除MSSQLServer中RecId不再可用的MySQL记录
    • 为具有未知RecId的MSSQLServer记录插入新记录
    • ModifiedDateTime大于上次同步时更新记录

    最后,我找到了一个强大的解决方案,并将其转发给所有有类似问题的人。PDI-Pentaho数据集成(Community Edition)是完成上述字典转换的完美方法。它甚至可以读取.xls或.txt文件。您可以从下面的链接获得它,不要忘记成为活跃的开发者社区成员。

    没有这样的工具,我敢肯定永远不会有。建议的连接AX数据的方法只有在AX 2012或.NET Business Connector的早期版本(使用最后一个版本,您需要一个中间的.NET web服务从PHP进行连接)的情况下,才能通过web服务进行连接。