php - 将数据库与外部表连接

标签 php mysql database database-design

我从来没有做过类似的东西。

我有一个系统,我需要将我的数据与外部数据(在另一个数据库中)相关联。 我的偏好是获取这些数据并创建我自己的表,但在这种情况下,当其他数据库更新时,我的个人表将过时。

所以,基本上我需要将我的表与外部表同步,或者只获取外部数据值。

我不知道如何连接和关联来自十个外部数据库的数据。

基本上我需要检查用户是否在其他网站注册。

有什么帮助吗?

最佳答案

我目前正在做类似的事情。

我发现的 Easiset 方法是拉取数据,尽管我在我的项目中进行了双向同步,但您没有提到这一点,所以我想这是您的目标拉取数据。

您需要在其他服务器上拥有用户帐户,并且需要使用 ip 而不是“localhost”来创建帐户。您将使用远程主机的 ip 而不是通常的 localhost 通过 mysql 客户端从您的终端连接。

参见 this page了解更多信息。

如果像我一样必须连接到不同的数据库服务器类型,我建议使用数据库抽象库来简化跨不同 SQL 服务器的无缝数据管理。我选择了 Zend_db 组件,与 Zend_config 一起使用,因为它们支持 MySQL 和 MSSQL。

更新 - 使用代理数据库访问关键任务数据

根据项目的范围,如果无法直接从远程数据库访问数据,则有不同的可能性。为了回答您的评论,我将告诉您我们如何解决与我相关的当前项目的相同问题。客户有一个大型 MSSQL 数据库,它是关键业务应用程序、会计、发票、库存,一切都由一个与 MSSQL 绑定(bind)的大型应用程序处理。我的任务是安装一个 CRM,并将他的 MSSQL 关键任务应用程序的客户同步到 CRM 中,顺便在 MySQL 上运行。

我不想直接从我的 CRM 访问这些数据,这个 CRM 不应该接触他们的主要 MSSQL 数据库,我当然不愿意承担任何出错的责任,即使理论上这不应该发生的,在实践中理论往往毫无值(value)。我给出(并已实现)的建议是在他们的末端设置一个代理数据库。位于同一个 MSSQL 实例上的数据库有一个任务,每晚将数据复制到第二个数据库中。这一个,我可以自由远程访问。在 MSSQL 上创建了一个用户,该用户只能访问代理,并且仅从一个 ip 接受连接。

我的 scipt 必须同步两种方式,所以在我的例子中,我每晚将修改后的记录从 MSSQL ‘推送’到 crm,并在代理数据库中‘拉’添加的 CRM 记录。实习生通过电子邮件收到代理中新记录的通知,以更新到他们的 MSSQL 应用程序。希望这已经足够清楚了,我意识到很难用几行来表达清楚。如果您有其他问题,请随时提出。

祝你好运!

关于php - 将数据库与外部表连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117633/

相关文章:

mysql - 如何在 MySQL 中对 UNION 查询中的多个字段求和?

php - 按实时计算的值(未存储)对元素进行排序

python - 是否可以使用已删除的架构运行 makemigrations ?

php - 通过 php 数组将多行插入 mysql

php - 表单有效时单击提交按钮后显示加载图像

php - 数组键索引附带数字

php - Mysql for 循环重复相同的结果 - 我可以在传递之前添加唯一的 ID 来查询吗?

mysql - 在 Electron 中访问 MySQL 数据库

database - 是否有适用于 Mac osx 的 Oracle DB 11g 或 10g?

php - 如何用 PHP 打破外循环?