31 Ocak 2011 Pazartesi

Linked Server ile Oracle tablolarını sorgulama


--öncelikler sunucumuzun oracle''a erişim bilgisini alacağı oracle TNS name bilgilerini alacağı
-- dosyayı düzenliyoruz...

/*
 
# TNSNAMES.ORA Network Configuration File: F:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

 ORAKIL.DOMAIN.ORG =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = SRVORAKL)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORAKIL)
    )
  )



*/


-- sonra SQL tarafında ya arayüzü kullarak  Server Objects --> Linked Servers kısmında ya da aşağıdaki T-SQL cümleleri ile
-- linked sunucuyu tanımlıyoruz...


EXEC master.dbo.sp_addlinkedserver @server = N'OracleSunucu'
, @srvproduct=N'Oracle 9i', @provider=N'MSDAORA', @datasrc=N'ORAKIL'

-- sonrada bu sunucuya bağlantı için kullanılacak remoteuser=uzak kullanıcıyı tanımlıyoruz...

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'OracleSunucu',@useself=N'False',@locallogin=NULL,@rmtuser=N'OracleUser1',@rmtpassword='Şifresi'

-- şimdide gelelim verileri nasıl sorgulayacağımıza

select * from OracleSunucu..OracleUser1.PersonelTablosu

-- görüldüğü gibi   noktalı notasyon ile tabloya kadar erişim sağlanmaktadır..
-- eğer birden çok tabloyu içeren join ve update cümleleri kullanacaksanız bu noktalı yazımda sıkıntılar olabileceğinzdne
-- bu selectleri sql taraınfa view çekline getirmeniz ve oradan kolayca sanki sqldeki tablolarmış gibi erişmeniz mümkün

Hiç yorum yok: