Sql server üzerinden linked server oluşturarak diğer ilişkisel veritabanlarına sorgu atmak uzun zamandır mevcut olan bir özellik. Ancak NoSql veritabanları için ise durum o kadar kolay değildi. Aslında Microsoft Sql Server 2016 ile duyurduğu PolyBase özelliği ile Hadoop ve Azure Blob Storage için bağlantılar kurma özelliğini eklemişti. MongoDB’yi sorgulamak için ise 2019 versiyonunu beklemek gerekecekti.
Burada çözüm olarak Linked server ile MongoDB veritabanına bağlanmak kalıyor. Bu konuda Türkçe çok fazla kaynak olmadığından dolayı detaylı bir şekilde bu konuyu anlatmaya çalışacağım.
Öncelikle MongoDB sitesinden güncel BI adaptörünü ve Github üzerinden güncel ODBC driverını indirip kuralım.
Kurulumlar bittikten sonra ilk önce indirmiş olduğumuz BI adaptörünü sistemimize Windows Service olarak kuralım. Bunun için yapmamız gereken Converter For BI klasörüne giderek “mongosqld.conf” isimli bir dosya oluşturmak.
C:\Program Files\MongoDB\Connector for BI\[güncel versiyon]\bin
Bu dosya bize BI connector’un hangi veritabanına bağlanacağını ve diğer ayarlarını yapmamıza imkan veriyor. Oluşturulan dosyasının içerisine aşağıda ki ayarları ekleyelim.
systemLog:
path: 'C:\logs\mongosqld.log'
net:
bindIp: '127.0.0.1'
port: 3307
mongodb:
net:
uri: "localhost:27017"
schema:
maxVarcharLength: 8000
Burada dikkat edilmesi gerekenler;
"C:\Program Files\MongoDB\Connector for BI\2.13\bin\mongosqld.exe" install --config "C:\Program Files\MongoDB\Connector for BI\2.13\bin\mongosqld.conf"
Artık BI Connector, Windows service olarak yüklendi. İster cmd’den ister “Services” ekranından başlatabilirsiniz. Cmd için aşağıdaki satırı kullanabilirsiniz.
net start mongosql
Bu adımlardan sonra sırada MongoDB için bir tane Data Source Name (DSN) oluşturalım. DSN oluşturmak için “Başlat (Start)” üzerinden ODBC yazabiliriz.
Açılan pencerede “System DSN” sekmesine geçiş yapalım ve açılan pencereden Unicode Driver’ı seçerek “Finish” butonuna basalım.
Daha sonra Configure butonu ile ayarlarımızı yapalım.
Ayarları yaptıktan sonra Test dediğimizde “Connection Successful” görmemiz gerekmekte. Buraya kadar MongoDB için ayarlarımızı yaptık. Şimdi de MSSQL üzerinden Linked Server oluşturma işlemine başlayalım. Bunun için Object Explorer’dan Server Object -> Linked Server seçimlerini yaptıktan sonra yeni bir Linked Server eklemesi yapalım.
Ekleme tamamlandıktan sonra şimdi test etme zamanı. Bir select sorgusu ile mongo veritabanımızdan kayıtları alalım.
Testimiz başarılı oldu. Bundan sonra rahat bir şekilde Mongo veritabanımıza Sql Server üzerinden ulaşabiliriz.
Ek bilgi olarak Mongo veritabanını sorgularken MySql Syntax kullanılamakta.
© 2020 - 2022 İsmail Özçelik
Build with Astro
Sarissa theme desing by iozcelik