İlginizi Çekebilir
  1. Ana Sayfa
  2. Container
  3. macOS Üzerinde .NET Geliştirme Ortamı – Bölüm-2: MSSQL Server, Docker for Mac ve Visual Studio Code

macOS Üzerinde .NET Geliştirme Ortamı – Bölüm-2: MSSQL Server, Docker for Mac ve Visual Studio Code

070118_1059_macOSzerind1.png

İlk bölümünde .NET Core ve for Mac kullanarak üzerinde .NET ile nasıl geliştirme yapabileceğimize değinmiştik. 2. Bölümde ise veritabanı olarak nasıl kullanabileceğimizi inceleyeceğiz. ’in Linux versiyonu olmasına rağmen bir versiyonu bulunmuyor. üzerinde eğer veritabanı olarak MSSQL kullanmak istiyorsanız Azure ne güne duruyor diyebilirsiniz. Ancak ben localde çalışmak istiyorum ya da bulut kullanmamam gerekiyor diyorsanız Docker for Mac ve Visual Studio Code kullanabilirsiniz.

Öncelikle kurulumu ile başlayalım. Buradan indirebileceğiniz kurulum dosyasını açtığınızda Resim-1’de göreceğiniz standart mac kurulum ekranı çıkıyor. Basit bir sürükle bırak işlemi ile ilgili kurulumu tamamlayabilirsiniz.

Resim-1: for Mac kurulum

Kurulum sonrasında Launchpad ya da Finder ile Applications altından Docker’ı çalıştırabilirsiniz. Sonrasında menu bar’da docker ikonunu ve Resim-2’de göreceğiniz Docker ekranını göreceksiniz.

Resim-2: Docker for Mac

Kurulum sonrasında Terminal ekranını açarak “docker version” komutu ile yüklü olan docker versiyonu ve diğer bilgileri görebilirsiniz.

Resim-3: docker version komut çıktısı

Docker kurulum işlemini tamamladıktan sonra MSSQL docker image indirelim. Bunun için aşağıda yer alan komutu Terminal ekranında çalıştıralım:

docker pull microsoft/mssql-server-linux:2017-latest

Resim-4: MSSQL docker image indirme işlemi

Docker image indirme işlemi tamamlandıktan sonra sıra docker run komutuna geldi.

docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=P@ssw0rd1’ -p 1433:1433 –name sqlcontainer -d microsoft/mssql-server-linux:2017-latest

Parametrelerin detaylarına bakacak olursak:

  • -e ‘ACCEPT_EULA=Y’                :    Son kullanıcı lisans sözleşmesini kabul etmek için gerekiyor.
  • -e ‘SA_PASSWORD=P@ssw0rd1’            :    Min. 8 karakter ve şifre standartlarında olmalı.
  • -p 1433:1433                    :    Container portunu (2. değer) host portuna (1. değer) yönlendirmek için
  • –name sqlcontainer                :    Container için anlaşılır bir isim veriyoruz. Eğer bu parametreyi vermezsek random bir isim üretiliyor.
  • -d                        :    Detached Mode (mevcut Shell’den bağımsız olarak çalıştırmak)
  • microsoft/mssql-server-linux:2017-latest     :    Güncel The SQL Server 2017 Linux container image.

Resim-5: docker run

Docker üzerinde çalışır halde bir MSSQL container’ımız var, peki nasıl bağlanabiliriz? Burada Terminal üzerinden sorgu atmak istemiyorum diyorsanız, ’in ( SQL Server Management Studio) bir macOS versiyonu da (henüz) olmadığı için Visual Studio Code kullanabilirsiniz. Bunun için Microsoft’un SQL Server (mssql) extension’ını kurmamız gerekiyor.

Resim-6: mssql extension

Extension’ı kurup reload ettikten sonra, commad palette üzerinden MS SQL: Connect komutu ile SQL Server’a bağlanalım.

Resim-7: MS SQL command palette

MS SQL Connect komutunu çalıştırınca Resim-8’de göreceğiniz editor dilinin SQL olarak değiştirilmesi gerektiği ile ilgili bir soru geliyor. Yes seçeneği ile kabul ediyoruz. Bu sırada output ekranında SQL tools servisinin yükleme işlemi de arka planda yapılıyor.


Resim-8: Language seçimi

Yes seçeneğini seçtikten sonra language mode seçenekleri çıkıyor. Buradan SQL (sql) seçeneğini Resim-9’de göreceğiniz gibi seçerek devam ediyoruz.

Resim-9: Select Language Mode

Dil seçeneğini seçtikten sonra bizden bağlantı bilgileri isteyecek. Hostname\instance, Azure Sql/ADO.NET connection string değerlerini yazabilirsiniz.

Resim-10: MSSQL connection string

Daha sonra bizden bağlanmak istediğiniz database ismini isteyecek, henüz bir database oluşturmadığımız için (system tabloları ile de bir işimiz yoksa) boş geçebiliriz.

Resim-11: Database name

Integrated authentication mı yoksa kullanıcı adı/şifre kullanarak (SQL Login) giriş yapmak istediğimizi belirtiyoruz. SQL Login seçerek devam ediyorum.

Resim-12: Authentication type

Bağlanacağımız kullanıcı bilgisini giriyoruz. Farklı bir kullanıcı oluşturmadığımız için sa ile giriş yapıyorum.

Resim-13: User name

Container oluştururken belirlediğimiz P@ssw0rd1 şifresini giriyorum.


Resim-14: Password

Bizden şifre bilgisini kaydetmek isteyip istemediğimizi soruyor. Eğer kaydetmezseniz her bağlantıda tekrar soracağını da düşünerek cevap vermenizi öneririm.

Resim-15: Şifre kaydetme

Son olarak da bizden kaydedilecek profil için bir isim istiyor. Profile1 yazarak geçiyorum.

Resim-16: Profile kayıt

Bu ayarları User Settings altında görebilir ve değiştirebilirsiniz. Command + Shift + P ile command palette açarak “user settings” keyword’ünü yazıp açabilirsiniz.

Resim-17: User Settings

SELECT * FROM sys.tables sorgusunu test amaçlı olarak çalıştıralım. Editöre sorguyu yazdıktan sonra command palette üzerinden Execute Query ya da Command + Shift + E ile sorguyu çalıştırabilirsiniz.

Resim-18: Execute Query

Son olarak da sorgu sonuçlarımızı sağ tarafta görebiliyoruz.

Resim-19: Sorgu sonuçları

Visual Studio Code her konuda yardımcı olsa da Microsoft’un ürünlerine yakın bir zamanda SSMS for Mac de dahil edebileceğini düşünüyorum.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: Visual Studio, Visual Studio Code, MSSQL, SQL Server, Docker, Docker for Mac, SSMS, macOS

Yorum Yap

Yazar Hakkında

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi Gemi İnşaatı Mühendisliği bölümünde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi Bilgi Teknolojileri bölümünde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir. Şu anda da Done'de Cloud Development Manager olarak Azure, .NET Core, SQL Server, Docker vb güncel teknolojiler üzerinde çalışmaktadır.

Yorum Yap

Yorumlar (3)

  1. Merhaba, Microsoft’un MAC, Linux ve Windows için SQL Operation Studio Adlı programı mevcut SSMS yerine,

    https://docs.microsoft.com/en-us/sql/sql-operations-studio/download?view=sql-server-2017

  2. Merhabalar;

    Mehmet-MacBook-Pro:~ mehmetdurmus$ docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=P@ssw0rd1’ -p 1433:1433 –bykingpin sqlcontainer -d microsoft/mssql-server-linux:2017-latest
    docker: invalid reference format.

    Sorun nedir acaba?

    • Bende de o hatayı verdi , aşağıdaki image’dan çalıştırdım oldu.

      docker pull mcr.microsoft.com/mssql/server:2017-latest

      Buna ek olarak sa için şifre verirken çok uzun veya kısa olmaması lazım aksi halde container duruyor. Loga bakınca anlıyorsun ancak. P@wd123 formatında çok uzun olmayan bir şifre yeterli olacaktır.