Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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
从SQL server到MySQL的每日更新_Mysql_Sql Server_Scheduled Tasks - Fatal编程技术网

从SQL server到MySQL的每日更新

从SQL server到MySQL的每日更新,mysql,sql-server,scheduled-tasks,Mysql,Sql Server,Scheduled Tasks,我正在使用PHP(Codeigniter)和MySQL构建一个电子商务网站 products表有一个stock字段,需要每天更新(可能一天几次)。这些更新的源是本地SQL Server表(由SAP B1使用) 我应该说,我无法知道哪些项目发生了变化,所以我必须查看整个产品表(数万行) 我就是这么想的: 在SQL Server上发出计划查询,以创建 项目代码和库存水平。(已完成) 发出计划的ftp命令以将该文本文件上载到web服务器(完成) 使用codeigniter函数解析上传的文本文件,创建一

我正在使用PHP(Codeigniter)和MySQL构建一个电子商务网站

products表有一个stock字段,需要每天更新(可能一天几次)。这些更新的源是本地SQL Server表(由SAP B1使用)

我应该说,我无法知道哪些项目发生了变化,所以我必须查看整个产品表(数万行)

我就是这么想的:

  • 在SQL Server上发出计划查询,以创建 项目代码和库存水平。(已完成)
  • 发出计划的ftp命令以将该文本文件上载到web服务器(完成)
  • 使用codeigniter函数解析上传的文本文件,创建一个用于批量更新的数组(虽然还没有完成,但看起来很简单)
  • 我的问题是:

  • 我走的方向对吗?有更好的方法吗?我是否在冒性能问题的风险?(我的意思是,这个工作会干扰我网站的性能吗?运行几千行需要多长时间?)
  • 如何安排codeigniter功能(上述第3项)?只需在任何本地机器上使用任何通过url调用我的php函数的调度程序(mywebsite.com/my_update_函数)

  • 我们可以直接在您的SAP B1表上为您的案例使用触发器。这可能会解决您的问题。 但SAP B1存在一个问题。如果我们在SAP B1的系统表或UDT上使用触发器,则在将SAP B1升级到更高级别时会出现问题。
    处理好这件事,然后继续

    我猜当记录被更改时,SQL Server表中可能至少有一个字段,当您截断MySQL数据库中的整个表时,用户将无法看到任何产品,这将使电子商务网站感到尴尬。所以我的建议是在服务器中创建一个PHP代码,创建一个临时表,其中包含从SQL server中上次更新后更新的记录(在MySQL数据库的设置表中保留一个表行,以便可以对照SQL server进行检查)。并删除mysql选项卡和INSEM中的记录,甚至可以对它们进行updt,并在php文件上添加一个调度程序。我不确定CodeIgniter,但您可以独立完成,根本不需要那个接口。