iT邦幫忙

0

PHP select join 到不同資料庫問題

php
  • 分享至 

  • xImage

各位先進大家好

想問問php能不能select join到兩個不同主機上的DB,分開select是可以work
已在ssms成功連到了oracle,也可在查詢中join一起查詢
目前嘗試在php實作看看,但一直不成功

環境是:
php:php7用Adodb
要連到mssql和oracle

目前連線的語法
oracle

$dbor = &ADONewConnection('oci8');
$dbor->charSet = 'utf8';
$dbor->Connect($ORACLE_URL, $ORACLE_USERNAME, $ORACLE_PASSWORD, $ORACLE_DATABASE)

mssql

$dbms = &ADONewConnection('ado_mssql');
$dbms->charPage=CP_UTF8;
$msDSN = "PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER=$MSSQL_URL;DATABASE=$MSSQL_DATABASE;UID=$MSSQL_USERNAME;PWD=$MSSQL_PASSWORD;";

ADD 錯誤的

$dbms_o = &ADONewConnection('ado_mssql');
$dbms_o->charPage=CP_UTF8;
$isDSN = "PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER=$ORACLE_URL;DATABASE=$ORACLE_USERNAME;UID=$ORACLE_USERNAME;PWD=$ORACLE_PASSWORD;";
//$dbis->Connect($isDSN) or die("Connect Sis database failed"); 
$dbms_o->Connect($isDSN) or die("Connect dbms_o database failed"); 
ronrun iT邦新手 4 級 ‧ 2022-04-14 17:27:00 檢舉
你的不成功是如何不成功?發文要附錯誤訊息。

就算是只連到一個mssql,只有一個,能連就能連。oracle也是,mysql也是。然後各自的連線放在一起,變數取不一樣,不會互相干擾。

你說「分開select是可以work 已在ssms成功連到了oracle」
ssms 是 SQL Server Management Studio,這跟 php 沒關係,是吧。

另外,在php連到不同資料庫,可以。但是你說要join?這不太可能吧。
TO ronrun大
錯誤就是失敗連線

不過我剛剛試才知道我自己自作聰明以為把另新增連線仿mssql語法再換成oracle帳號就行,下場就是失敗...

也照著海綿大的想法把php當作ssms,用原本的mssql連線去join oracle那邊table也可以抓到那邊的DB了

學到一課,感謝各位~~
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-04-14 17:09:45
最佳解答

試試看這個work 不 work

與其對兩個 db 建立兩個 database connection
不如對一個 db 建立一個 connection
並且透過 DB LINK 去存取另一個 db 的資料
把自己當成 ssms 的角色即可

obarisk iT邦研究生 1 級 ‧ 2022-04-16 22:18:24 檢舉

這個比喻能懂的,也是很神奇啊

我要發表回答

立即登入回答