iT邦幫忙

0

oracle做dblink到mssql後,from table語法該怎麼下才對?

狀況是我在oracle資料庫主機,做了一個dblink連結,到另外一台mssql資料庫主機,dblink的名稱是ora2sql。
做完後下select sysdate from dual@ora2sql; 有正常出現結果,這應該代表dblink有成功建立?
但我要下查詢語法卻試不出來,都出現無效的物件名稱,我的語法如下
ex. select * from dbo.表格名稱@ora2sql;
ex. select * from 資料庫名稱.dbo.表格名稱@ora2sql;
我上面的資料庫名稱跟表格名稱如下圖位置
https://ithelp.ithome.com.tw/upload/images/20190923/20084571RBwWWqJzBC.jpg

,想請問有經驗的各位,怎麼下才正確?

vit5015 iT邦新手 4 級 ‧ 2019-09-24 09:26:53 檢舉
SELECT * FROM INFORMATION_SCHEMA.Columns@ora2sql
有用這行指令在oracle查出TABLE_CATALOG對應到資料庫名稱,TABLE_SCHEMA對應到DBO,TABLE_NAME對應到表格名稱
但還是沒辦法正確查詢到其他表格資料

1 個回答

0
assanges
iT邦見習生 0 級 ‧ 2019-09-24 09:04:06

請問你的資料庫的表有空格嗎?試試看中括號[]包起來?

vit5015 iT邦新手 4 級 ‧ 2019-09-24 09:24:03 檢舉

沒有空格
是這樣包嗎 select * from [dbo].[表格名稱]@ora2sql;
還是不行,感謝回覆。

vit5015 iT邦新手 4 級 ‧ 2019-09-24 10:45:43 檢舉

同事找到方法了 要用select "欄位名稱" from 表格名稱@ora2sql; 才能查詢出來,但遇到第二個問題是,如果用select "" from 表格名稱@ora2sql;會直接斷線。

我要發表回答

立即登入回答