Create LinkServer From Sqlserver To OracleDB

علی ذوالفقار
1404/01/23 15:11:59 (4)
-- CREATE LINK-SERVER
EXEC sp_addlinkedserver 
   @server = 'OracleLinkedServer',  -- Linked Server Name
   @srvproduct = 'Oracle',          -- Product Name (Oracle)
   @provider = N'OraOLEDB.Oracle' , -- Provider
   @datasrc = '//oracledb.mydomain.com:1521/ORCL'; -- DataSource 
   -- Service name datasource : 
   -- '//ServerName:Port/ServiceName'
   -- '//OracleDB.MyDomain.Com:1521/ORCL'
   --
   -- sid datasource : 
   -- 'ServerName:Port:SID'
   -- '192.168.1.100:1521:ORCL'

-- APPLY LOGIN USER/PASS    
EXEC sp_addlinkedsrvlogin 
   @rmtsrvname = 'OracleLinkedServer', -- Linked Server Name
   @useself = 'FALSE',                 -- Dont Use SQL Server 
   @locallogin = NULL,                 -- local-login
   @rmtuser = 'oracle-db-user',        -- oracle database username 
   @rmtpassword = 'oracle-db-password';    -- oracle database password


-- TEST : 
SELECT * FROM 
    OPENQUERY( OracleLinkedServer , 'SELECT * FROM MY_DB.MY_TABLR WHERE ROWNUM < 2' )

-- JOIN : 
SELECT a.SQLColumn ,  b.OracleColumn
FROM YourSQLTable a
JOIN OPENQUERY(OracleLinkedServer, 'SELECT OracleColumn FROM OracleTableName') b
   ON a.SQLColumn = b.OracleColumn;
Back