Ben de mümkün olacağını zannetmezdim, ama iş başa düşünce küçük bir google araştırması sonucu mümkün olduğunu gördüm. Taylor Gerring isimli şahsiyetin yazısını özetliyorum.
SQL Server'dan MySQL (ve diğer RDBMS'lere) bağlanabilmemizde ODBC ve Linked Servers görev alıyor. Bu yüzden, MySQL'in ODBC sürücüsüne ihtiyacımız var, dolayısıyla Connector/ODBC'yi indirip SQL Server'ın kurulu olduğu bilgisayara kuruyoruz. Yine bu bilgisayar üzerinde MySQL bağlantımızı kolaylaştıracak bir DSN tanımlıyoruz. Bunun için Denetim Masası'ndan "Sistem ve Güvenlik" altında "Yönetim Araçları" bölümünde "Veri Kaynakları (ODBC)" bölümüne giriyoruz. Ya da daha kısayoldan Başlat menüsünde Çalıştır'a girip "odbcad32" yazmamız da yeterli. Burada Kullanıcı DSN bölümünde Ekle butonuna basarak yeni bir ODBC kaynağı oluşturmaya başlıyoruz.
İlk adımda bize ne tür bir driver kullanacağımız soruluyor. Burada daha önce yüklediğimiz MySQL ODBC Driver'ı bulup seçiyoruz. Tamamladıktan sonra ayarlama (configuration) ekranına geçiyoruz.
MySQL ODBC Ayarları |
Burada "Data Source Name" (kısaca isim) ve "Description" (açıklama) alanları kendi keyfimize göre doldurabileceğimiz alanlar, yani daha sonra baktığımızda ne yaptığımızı kendimize hatırlatacak bir şeyler yazabiliriz. Alttaki bölümlerde ise MySQL bağlantısı için kullanılan değerleri girdiğimiz yerler var. MySQL'in öntanımlı portu 3306 otomatik geliyor yukarıdaki resimde gördüğünüz gibi.
Burada da işimiz bittikten (ve Test butonuna basıp bağlantı bilgilerimizi başarıyla sınadıktan) sonra artık SQL Server Manager'a geçip MySQL bağlantısını orada kaydedebiliriz. SQL Manager'da pata-küte "New Linked Server" demeden önce Providers altında bulunan MSDASQL öğesine bir ayar çekebiliriz.
Object Explorer |
New Linked Server... |
Artık sorgularınızda MySQL tablolarınızı kullanmaya başlayabilirsiniz. Sorgu kullanırken iki yöntemimiz var. Birincisi Openquery yöntemi (Diyelim ki Linked Server adı olarak "MysqlLinked" seçtiniz):
SELECT * FROM OPENQUERY(MysqlLinked, 'SELECT * FROM mysqlTablosu');
İkinci yöntem ise daha doğrudan bir yöntem, bu yöntemle MySQL tablolarınızı doğrudan bir SQL Server tablosuymuşçasına JOIN içine alma şansımız var:
Herkese kolay gelsin.
SELECT * FROM MysqlLinked...mysqlTablosu';
Herkese kolay gelsin.
Hiç yorum yok:
Yorum Gönder