SQL Server 2000 建立 Oracle 連結伺服器需在 Client 端(SQL Server 主機)登錄特定機碼。機碼檔位於:
C:\Program Files\Common Files\System\Ole DB\mtx*.reg
根據 Windows 版本與 Oracle 版本雙擊對應 .reg 檔匯入。詳細資訊請參閱 SQL Server 線上叢書:「OLE DB Provider for Oracle → Registry Entries」。
sp_addlinkedserver 'OraDB', 'Oracle', 'MSDAORA', 'Ora817'
sp_addlinkedserver 'OraDB', 'Oracle', 'OraOLEDB.Oracle', 'Ora817'
sp_addlinkedsrvlogin 對應 Oracle 認證:
-- 使用預設 Oracle sys 帳戶 (密碼 change_on_install)
EXEC sp_addlinkedsrvlogin 'OraDB', 'false', NULL, 'sys', 'change_on_install';
-- 映射本地 SQL 登入至特定 Oracle 用戶
EXEC sp_addlinkedsrvlogin 'OraDB', 'false', 'sql_login', 'oracle_user', 'oracle_pass';
'false':不使用自我映射,需明確提供 Oracle 認證NULL:所有 SQL 登入皆映射至同一 Oracle 帳戶-- 四部分命名
SELECT * FROM OraDB..SCOTT.EMP;
-- OPENQUERY (在 Oracle 端執行,效能較好)
SELECT * FROM OPENQUERY(OraDB, 'SELECT * FROM SCOTT.EMP WHERE DEPTNO = 10');
-- 執行 Oracle 預存程序
EXEC ('BEGIN SCOTT.MY_PROC(); END;') AT OraDB;