Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Alper Asma
Alper Asma
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
2 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  ADO.NET/SQL Alper Asma
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : ADO.NET/SQL
Yayınlanma Tarihi : 22.7.2003
Okunma Sayısı : 40058
Yorum Sayısı : 0     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 25.4.2024
Turhal Temizer
Mac OS/X Removing CUDA 25.4.2024
Burak Selim Şenyurt
Kurumsal Yazılımcının Oyun Geliştirme ile İmtihanı 25.4.2024
Burak Selim Şenyurt
Matematik ve Oyun Programlama - Missile Command - Final 25.4.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
Linked Server Nedir ve Hangi Amaçlar için Kullanılır?
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Linked Server farklı veri kaynakları -data source - ( Örneğin Oracle,Access ve Sql Server ) arasında heterojen sorgular yazmak için tanımlanır. Sql Server ile diğer data provider'lar arasında OLE DB kullanılarak heterojen sorgular(query) çalıştırılabilir. Hiyerarşik olarak nasıl çalıştığını anlamak için aşağıdaki şekli inceleyelim :



İstemci uygulamadan Sql Servera sorgu iletilir. Sql Server eğer linked server kurulmuş bir sistem var ise o sistem ile veri alış verişini OLE DB providerlar üzeriden yapar. Ve ilgili sisteme İstemcinin isteğini bildiririlir.İlgili sistemde istek icra görür ve geriye değer dönüyor ise yine OLE DB providerlar aracılığı ile Sql Servera iletilir ve sorgu tamamlanır. 

Adım Adım Sql Server - Oracle Linked Server Oluşturma

(*) Oracle için OLE DB provider 7.3.3.4.0 veya daha sonraki sürüm Oracle Client Software ve Oracle SQL*Net version 2.3.3.0.4 veya üstünü gerektirir.

1) Sql Server Query Analizer programını açın. Administrator olarak sisteme girin. Genelde kullanıcı adı sa şifresi ise boş olur. 



2) Master veritabanını seçin.



3) Yeni linked server oluşturun. Bu işlem için    sp_addlinkedserver stored procedure kullanılır. Örneğin :

EXEC sp_addlinkedserver 'ORCL', 'Oracle', 'MSDAORA', 'ORCL'

İlk parametre olan ORCL oracle bağlantısı için kullanılacak alias tır. İkinci parametre olan Oracle ise ürün ismidir. Üçüncü parametre olan

MSDAORA provider adıdır. Son parametre olan ORCL ise Oracle bağlantısı için kullandığınız SQL*Net adıdır. 

4) Yeni bir linked server login tanımlanır. Örneğin :

EXEC sp_addlinkedsrvlogin 'ORCL', 'FALSE', NULL, 'system', 'manager'

İlk parametre SQL*Net adıdır. İkinci parametre True ise Sql Server loginleri kullanılır. False olursa remote server remote sistemin kullanıcı adı ve

şifresi kullanılır. Örneğimizde Oracle a bağlanacağımızdan False seçilmiş 4 parametre olarak kullanıcı adı, 5. parametre olarakda şifre girilmiştir.

Üçüncü parametre local serverdaki logindir. Tanımlı değeri NULL dur..

Örnek tablo yapıları ve sorgu üzerinde işlemin nasıl yapıldığına bakalım .

Öncelikle Sql Serverda pubs veritabanında TESTSQLSERVER adlı tabloyu oluşturalım.



Sonra Oracle da SCOTT altına TESTORA adlı tabloyu oluşturalım.



TESTORA tablosunun yapısı ise :



Artık tablolarımızı hazırladığımıza göre örnek sorguyu çalıştırmak için birkaç örnek data girelim.

Sql Serverda oluşturduğumuz TESTSQLSERVER tablosuna ve Oracle da oluşturduğumuz TESTORA tablosuna örnek data girelim.

          

             


   

 

Şimdi iki tabloyu ortak ID alanları üzerinden bağlayan  bir query yazalım.Bu işlem için Sql Query Analizer programını açalım ve aşağıdaki sorguyu yazıp sonuçlarına bakalım.



Sonuç olarak Sql Server ve Oracle da hazırlanmış tablolar ortak Id alanı üzerinden Join yapıldı ve ilgili kayıtlar listelendi.

Sorguya dikkat eder isek Oracle tablosu Join edilirken ilk önce linked server oluştururken alias olarak setlediğimiz adı sonra iki nokta daha sonra tablonun sahibi ve nokta, son olarak da tablo adı yazılır.(ORCL..SCOTT.TESTORA)

Not : Eğer Linked server aracılığı ile sorgu çalıştırırken hata alıyor iseniz sqlnet.ora dosyasında değişiklik yapılmalıdır. SqlNet.ora genellikle oracle kurduğunuz dizinin altında \Network\Admin dizininde bulunur. Sqlnet.ora dosyasinda bulunan :

SQLNET.AUTHENTICATION_SERVICES= (NTS) yerine

SQLNET.AUTHENTICATION_SERVICES= (NONE) yazılırsa sorun çözülür.

Alper ASMA

[email protected]

[email protected]

Makale:
Linked Server Nedir ve Hangi Amaçlar için Kullanılır? ADO.NET ve SQL Alper Asma
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor