|  | 
        
            | 
                    
                        | Sql Server 2005 ile Dağıtık Sunuculara Erişim(Linked Servers) |  |  
                        | 
	
    
		
            | Gönderiliyor lütfen bekleyin... | 
 |  | 
        
            | Farklı kaynaklarda (Oracle,
        Access, Excel, Text vb.) bulunan verilerimize SQL Server içerisinden OLEDB veya
        ODBC kullanarak ulaşabilir ve bu kaynaklar üzerinde sorgulama yapabiliriz. SQL Server
        bu dış kaynaklar ile iletişimi Linked Server aracı ile sağlamaktadır.
        
    
        
  Ulaşmak istediğimiz kaynağa iki farklı yolla bağlanabiliriz. Birinci yol Management
    Server’dan oluşturulmuş arayüzü kullanmak, ikici yol da bu bağlantıyı sağlamak için
    SQL Serverın kendi kütüphanesinde bulunan sp_addlinkedserver saklı yordamınını kullanmaktır.
                                                                
        Saklı yordam(stored procedure) kullanarak linked server eklemek. 
 sp_addlinkedserver
                            [ @server = ] ’server’ : Server Adı
 [ , [ @srvproduct = ] ’product_name’ ]: Bağlanılacak
                                    ürün adı
 [ , [ @provider = ] ’provider_name’
                                    ] : Ara bağlantıyı sağlayacak nesnde.
 [ , [ @datasrc = ] ’data_source’ ] : Veri kaynağı
 [ , [ @location = ] ’location’
                                    ] : Lokasyon
 [ , [ @provstr = ] ’provider_string’ ]
                                    :Ara bağlantıyı sağlayacak nesne adı
 [ , [ @catalog = ] ’catalog’
                                    ] :Katalog
                                    adı.
 
 Kod 1 : sp_addlinkedserver  saklı yordamının kullanarak
            lined server kullanmak.
 
 Manager Server’ da arayüz kullanarak eklemek.
 
 
  Resim 1 : Manager server kullanarak linked server oluşturmak.
 
 İlk örnek olarak SQL Server 2005’ te linked server ile excel’ e bağlanmak ile ilgili
        bir örnek yapalım.
 
 
 
            
                Kod 1 : Saklı yordam ile  SQL server ve excel
                                  arasında linked server kurmak.
                    | EXEC master.dbo.sp_addlinkedserver @server = N’ILLER_EXCEL’,
 @srvproduct=N’Excel’,
 @provider=N’Microsoft.Jet.OLEDB.4.0’,
 @datasrc=N’E:\Documents and Settings\mehmetali.ecer\Desktop\Kitap1.xls’,
 @provstr=N’Excel 8.0’
 GO
 |  
 Aynı işlemi Managment serverdaki arayüzü kullanarak yapalım.
 
 
  Resim 2 : Arayüz kullanarak SQL Server ile excel arasında
        linked server oluşturmak.
 Dağıtık sunucumuzu ekledikten sonra Object Browser
            da Linked Server bölümünün altında ILLER_EXCEL isimli linked serverımızın referansını
            görebiliriz. Eklediğimiz serverın içerisinde bulunan tabloları
            görebilmek için aşağıdaki komut satırını çalıştırın.
 
 
 
                
                    Kod 3 : Bağlanılan verikümesinde bulunan tabloların gösterilmesi.
                        | EXECUTE SP_TABLES_EX ’ILLER_EXCEL’ 
 
 |  
 Örneğimizde bu komut sonucunda
            dönecek olan sonuç aşağıdaki gibidir.
 
 
  Resim 3 : Bağlanılan excelde bulunan tablolar.
 
 Tabloların içindeki kolonları
            görmek için de,
 
 
 
                
                    Kod 4 : Bağlanılan verikümesinde
            bulunan bir tablo içerisindeki kolonların gösterilmesi.
                        | EXECUTE sp_columns_ex ILLER_EXCEL,Sayfa1$ 
 
 |  
 
  Resim 4 : Bağlanılan excelde bulunan 
            Sayfa1$1 sayfasında bulunan kolonlar.
 
 Şimdide elimizdeki veriye SQL Serverda
            bulunan normal bir tabloymuş gibi sorgu cümlesi çalıştırabiliriz.
 
 
 
                
                    
                        | SELECT * FROM ILLER_EXCEL...Sayfa1$ 
 
 |  
 Yukarıda gördüğünüz gibi
            bir excel dosyasına bağlandık, dataları aldık ve var olan datalar üzerinde sql cümlelerini
            kullandık.
 
 Access ve metin dosyasına
            ulaşmak içinde aşağıdaki komut satırlarını kullanabilirsiniz.
 
 
 
            
                Kod 5 : Accesse bağlanma.
                    | EXEC master.dbo.sp_addlinkedserver @server = N’NWIND2’,
 @srvproduct=N’Access’,
 @provider=N’Microsoft.Jet.OLEDB.4.0’,
 @datasrc=N’E:\Documents and Settings\mehmetali.ecer\Desktop\Nwind.mdb’
 GO
 
 
 |  
 
 
                
                    
                        | EXEC master.dbo.sp_addlinkedserver @server = N’ILLER_TEXT’,
 @srvproduct=N’Jet 4.0’,
 @provider=N’Microsoft.Jet.OLEDB.4.0’,
 @datasrc=N’E:\Documents and Settings\mehmetali.ecer\Desktop\ILLER’,
 @provstr=N’Text’
 GO
 
 
 
 |  
 Kod 6 : Metin dosyasına bağlanma.
 
 Kaynaklar
 
 http://www.databasejournal.com/features/mssql/article.php/10894_3085211_1
 Sql Server 2005 ve Veritabanı Programlara, Yaşar Gözüdeli
 http://support.microsoft.com/kb/306397/
 http://www.codeproject.com/aspnet/LikeDataStores.asp
 http://www.aspfree.com/c/a/Microsoft-Access/Configuring-a-Linked-Microsoft-Access-Server-on-SQL-2005-Server/1/
 
 İyi Çalışmalar
 Mehmet Ali ECER
 [email protected]
 
 
 
                Makale:Sql Server 2005 ile Dağıtık Sunuculara Erişim(Linked Servers)  ADO.NET ve SQL Mehmet Ali Ecer
 | 
        
            |  | 
        
            |  | 
        
            | 
                    
                        
                            
                        
                            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
                         | 
        
            |  |