首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库到数据库通信

数据库到数据库通信
EN

Stack Overflow用户
提问于 2013-11-10 05:34:44
回答 2查看 1.3K关注 0票数 1

我正处于为一家与我合作的公司建立一个网站的计划阶段。该公司是一家电子批发商,并希望得到一个更好的网络存在。目前他们的POS系统采用PervasiveSQL作为数据库。我将使用MySQL的网站DB和PHP的语言。

我想集成这个网站与这个当前的数据库,但是,我想让网站使用它自己的数据库,以防入侵发生,一切都不会被破坏。当网站接受一个订单,我希望它也被复制到他们的POS系统。

我该怎么做才能做到这一点?我是否只是在代码中写入第二个INSERT语句并插入到两个数据库中?我是否可以使用一种方法:当数据库中插入了一些内容时,它将触发一个事件,该事件接收插入的信息并将其放置到另一个数据库中?我之所以这样问,是因为当一个新产品或客户帐户被添加到原始POS系统中时,我希望将这些信息放在网站数据库中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-10 05:47:59

根据您的描述,您可能做的是让网站使用只读凭据访问POS系统的数据库。那么你就不需要重复数据了。如果有人利用该网站进行攻击,攻击者将无法对POS数据库进行写入访问。

如果您需要从web应用程序写入POS数据库,并且考虑给它直接访问,您可以在两者之间放置一个web服务(只能从内部网络访问),并调用它而不是直接访问POS数据库。实际上,将web服务放在适当的位置也是从POS系统读取信息的好方法。

基本上,复制数据和保持同步可能是一个很大的问题,在这种情况下最好避免。

票数 1
EN

Stack Overflow用户

发布于 2013-11-10 09:45:27

您没有说明如何编写数据库连接代码,但是可以同时连接多个数据库,因为没有任何限制。

让我们假设您正在使用PDO。

要连接到2个数据库,可以使用:

代码语言:javascript
复制
$db1 = new PDO('mysql:host=localhost;dbname=database1;charset=utf8', 
'username1', 'password1');

$db2 = new PDO('mysql:host=localhost;dbname=database2;charset=utf8', 
'username2', 'password2');

这将导致两个数据库引用-- $db1和$db2

若要插入两个数据库,请在查询提交中使用引用。

代码语言:javascript
复制
$result1 = $db1->exec("INSERT INTO table(firstname, lastname) VAULES('John', 'Doe')");
$result2 = $db2->exec("INSERT INTO table(firstname, lastname) VAULES('John', 'Doe')");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19886621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档