是否可以联接两个具有不同数据库连接的表(两个不同服务器中的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();
我为每个表和连接创建了模型,
但是我无法加入两个数据库连接的两个模型
答案 0 :(得分:0)
是否可以联接两个不同数据库连接的表(两个不同服务器中的mysql和oracle)
否。
Oracle确实通过其Database Gateway for ODBC功能提供了异构访问。正确安装该功能后,您就可以运行这样的查询。
DB::connection('oracle')->table('some_oracle_table')->join('some_mysql_table@mysqlConnection') ...
说明如何装配该功能超出了堆栈溢出答案的范围。获取您的DBA帮助。
或者,只需分别从Oracle连接和MySQL连接读取数据,并将它们与程序关联。这就是今年完成工作的方式。