【问题标题】:Laravel : join two tables of different db connectionsLaravel:连接两个不同数据库连接的表
【发布时间】:2019-08-11 03:36:35
【问题描述】:

是否可以加入两个不同db连接的表(mysql和oracle在两个不同的服务器) 根据条件?

我想执行这个查询:

DB::connection('oracle')->table('SYSADM.PS_KS_COM_PERS_INF AS PRES')
->join(DB::connection('mysql')->table('students AS STU'), 
'PRES.NATIONAL_ID','=','STU.NationalID')
->where('PRES.STUDENT_STATUS', '=', 'Record Closed')
->where('STU.Batch', '=', $value->Batch)
->get(); // or count();

我创建了每个表和连接的模型,

但我无法加入两个数据库连接的两个模型

【问题讨论】:

  • 我不这样。但是,您是否尝试过合并两个单独的调用?
  • 不,我不知道。你能解释一下吗

标签: mysql oracle laravel-5 laravel-query-builder


【解决方案1】:

是否可以加入两个不同db连接的表(mysql和oracle在两个不同的服务器)

没有。

Oracle 确实通过其Database Gateway for ODBC 功能提供异构访问。一旦正确配置了该功能,您就可以运行这样的查询。

 DB::connection('oracle')->table('some_oracle_table')->join('some_mysql_table@mysqlConnection') ...

解释如何装配该功能超出了 Stack Overflow 答案的范围。让您的 DBA 提供帮助。

或者,只需分别从您的 Oracle 连接和 MySQL 连接读取数据,然后在您的程序中将它们关联起来。这就是今年完成工作的方法。

【讨论】:

    猜你喜欢
    • 2021-07-09
    • 1970-01-01
    • 2019-03-09
    • 2022-07-26
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    相关资源
    最近更新 更多