是否可以连接来自 PHP 中两个不同服务器的两个表(一个 Mysql,另一个 Oracle)?
Is possible to join two tables (One Mysql, the other Oracle) from two different servers in PHP?
我将不谈背景故事,但基本上我有两个不同的数据库可以从中检索信息。 1 是 Oracle(我们只被授予只读访问权限),另一个是 Mysql(我们有完全访问权限)。我的问题是 oracle table 中缺少我们想从中提取数据的列,但是我们需要的列在 mysql table 中。有没有一种方法可以编写连接语句以将此 mysql 列包含到 oracle table 中?我在网上看到人们使用 'LinkedServers' 的实例,但我不确定它在 PHP 中是如何工作的。数据库连接存储在 php 文件中,当我们想要使用该特定数据库时调用该函数。
tl;博士
用户可以使用 mysql 和 oracle table 的联接吗?如果是这样,当数据库信息位于单独的 php 文件中时,如何在 php 中实现?
我想 sql 查询看起来类似于:
select
*
from
LocalTable,
[OtherServerName].[OtherDB].[dbo].[OtherTable]
但有一些连接逻辑
您不能加入 2 个不同的数据库供应商。
查询由特定供应商查询分析器执行。
然而,您可以在 php 中自行加入,但需要将大量信息转储到 php 中。对于小数据集应该没问题,但对于大数据集应该没问题...
您要做的是将数据从一个供应商复制到另一个供应商的临时 table,然后执行连接。
出于本示例的目的,我将使用 PDO。
我将获取 oracle 数据并将其放入 mysql 以便我可以对该数据使用连接...
$oracle_table_b = "select * from mytable";
$oracle_data = $pdo->fetchAll();
$stmt = $pdo_mysql->prepare("insert into mytemptable (mycols)");
foreach ($oracle_data as $row) {
$stmt->execute($row);
}
//然后运行你的加入
我将不谈背景故事,但基本上我有两个不同的数据库可以从中检索信息。 1 是 Oracle(我们只被授予只读访问权限),另一个是 Mysql(我们有完全访问权限)。我的问题是 oracle table 中缺少我们想从中提取数据的列,但是我们需要的列在 mysql table 中。有没有一种方法可以编写连接语句以将此 mysql 列包含到 oracle table 中?我在网上看到人们使用 'LinkedServers' 的实例,但我不确定它在 PHP 中是如何工作的。数据库连接存储在 php 文件中,当我们想要使用该特定数据库时调用该函数。
tl;博士
用户可以使用 mysql 和 oracle table 的联接吗?如果是这样,当数据库信息位于单独的 php 文件中时,如何在 php 中实现?
我想 sql 查询看起来类似于:
select
*
from
LocalTable,
[OtherServerName].[OtherDB].[dbo].[OtherTable]
但有一些连接逻辑
您不能加入 2 个不同的数据库供应商。 查询由特定供应商查询分析器执行。
然而,您可以在 php 中自行加入,但需要将大量信息转储到 php 中。对于小数据集应该没问题,但对于大数据集应该没问题...
您要做的是将数据从一个供应商复制到另一个供应商的临时 table,然后执行连接。
出于本示例的目的,我将使用 PDO。 我将获取 oracle 数据并将其放入 mysql 以便我可以对该数据使用连接...
$oracle_table_b = "select * from mytable";
$oracle_data = $pdo->fetchAll();
$stmt = $pdo_mysql->prepare("insert into mytemptable (mycols)");
foreach ($oracle_data as $row) {
$stmt->execute($row);
}
//然后运行你的加入