什麼是 Linked Server?他可以讓其他異直平台資料庫在 SQL Server 使用,直接從 SQL Server 向其他資料庫抓取資料。如果不這麼做,可能就要另外開啟連線到其他的資料庫,可是如果使用 Linked Server,只要開啟一個對 SQL Server 的連線就可以同時使用其他資料庫的資料了。

1.SQL Server 要安裝 Oracle Client.

2.在 tnsname.ora (SQL Server 所在的 C:\Oracle\Ora92\network\ADMIN\) 設定 Alias Name,我設定的 Alias Name 是 "Yield".

Yield = (DESCRIPTION =
(sdu = 8192) (tdu = 8192)
(ADDRESS = (PROTOCOL = tcp)
(HOST = 10.98.130.24)(PORT = 1521))
(CONNECT_DATA = (SID = ebs01)))

3. SQL Server 就可以設定 Linked Server,我設定的 Linked Server Name 是 "ORACLE".

如何利用 Linked Server 抓取其他資料庫的資料?

select * from OPENQUERY(ORACLE,'select * from temp_wip')

ORACLE 就是 Linked Server Name,其中的 select 就像一般的 SQL 指令一樣。

要注意的是,在 SQL Server 沒有大小寫之分,可是在 Oracle 等其他資料庫就有區別,所以在使用 OPENQUERY 時要注意大小寫。還有在 OPENQUERY 裡面的 SQL 如果包含 "'",要記得寫成 "''"。