|
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.
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
|
Kod 1 : Saklı yordam ile SQL server ve excel
arasında linked server kurmak.
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.
EXECUTE SP_TABLES_EX ’ILLER_EXCEL’
|
Kod 3 : Bağlanılan verikümesinde bulunan tabloların gösterilmesi.
Ö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,
EXECUTE sp_columns_ex ILLER_EXCEL,Sayfa1$
|
Kod 4 : Bağlanılan verikümesinde
bulunan bir tablo içerisindeki kolonların gösterilmesi.
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.
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
|
Kod 5 : Accesse bağlanma.
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
|
|