這個問題實在有點兒意思
因為其實我一直在迴避這個問題
從以前寫程式就一直會把整個組織的資料庫開成同一個
裡面放所需要的Table
可是呢 這樣做實在有點瞎
因為其實不同的系統 如果需要區隔資料庫的話
當然應該把資料庫的實體位置分開
而不是逃避 然後用所謂的Table名稱規則來識別
終於我被迫要面對這樣的問題
由於目前的環就就是這樣設計
不同的系統 使用不同的資料庫
當然就免不了要有一些共用的資料
那...如果你的系統 有某些東西 正好要使用到這些共用的功能
而且不能有迴避的狀況那怎麼辦
所謂的迴避可能就是 你可以自己建個Table在自己的資料庫
因為那個Table的資料可能萬年不變
總而言之
如果你的主機是同一台 但是資料庫不同
而你又要join它們之間的資料那該怎麼做
答案其實很簡單
就是使用完整的資料庫名稱就好了
通常我們只會
|
SELECT * FROM TableA ta |
如果 TableA 在DBa 而 TableB 在 DBb 這時候只要改成使用完整的資料庫描述就好了
SQL Server範例語法如下
|
SELECT * FROM DBa.dbo.TableA ta |
當然 在兩個資料庫中都要有相對應的權限
那麼應該有人會問 這樣的語法寫在程式裡面那我的連線設定是要使用哪一個呢
答案是都可以 只要使用兩個中的其中一個就行了
那MySQL呢 .....這才是我的工作上的重點啊 由於沒有MySQL就暫時先這樣
等到有環境在補上來
P.s 經測試.MySQL也是如上述方式 2008/10/16
請先 登入 以發表留言。