我們正在從SQL Server 2005遷移到Oracle 11G。我一直在嘗試使用存儲在SQL Server表中的數據對Oracle中的表進行更新。SQL開發人員:連接來自連接的SQL Server DB和連接的Oracle DB的表格
使用SQL開發人員,我已經完成了以下內容:
創建Oracle數據庫
Created Connection name --> e9_crp Supplied User name and Pass Defined Host Name and SID
我還創建了一個包含引用數據到SQL Server的連接的連接
Connection Name --> sql_data User Name and Pass Host and Port
用於SQL Server的連接名是sql_data
用於甲骨文的連接名是e9_crp
在SQL Server中的表是在數據庫my_tmp
擁有dbo的擁有者,被稱爲tiers
(my_tmp.dbo.tiers
)。
在SQL Developer中,我可以看到,選擇並查看層表。這個SQL語句也適用使用工作表時,在sql_data
連接:
select * from [my_tmp].[dbo].[tiers]
嘗試連接到該表時在e9_crp
連接模式,我一直在試圖做這樣的事情:
select * from [sql_data].[my_tmp].[dbo].[tiers]
但這返回一個錯誤,指出層級表不存在:
ORA-00903: invalid table name
00903. 00000 - "invalid table name"
兩個表都有的「唯一的ID我所以在一個完美的世界中,這應該工作:
select a.itm, b.tier
from [e9_crp].[crpdta].[itemmaster] a inner join [sql_data].[my_tmp].[dbo].[tiers] b
on(a.itm = b.itm)
這是假設我在表標識符中使用連接名稱。但是,這顯然不起作用。我需要做的是能夠根據需要以相似的方式將這兩個數據庫連接在一起。
如何使用SQL Developer加入這兩個表?我已經嘗試了連接的多個表字符串迭代,但沒有運氣。任何幫助表示讚賞。