macOS ile .NET Core Geliştirmek (makale-2: Docker, MsSQL Server ve Visual Studio Code Kurulumu)

.Net geliştirmek için gerekli olan SDKları ve yazılım geliştirme editörümüz olan Visual Studio’nun kurulumlarını Makale: 1‘de tamamladık. Bu makale serisinide ki amacımız .Net Core ile gelen farklı platformlarda yazılım geliştirme özelliğini kullanmaktı. Bu durumda Makale: 1 ile birlikte artık mac bilgisayarımızda .NET uygulaması geliştirebiliriz. Peki! dinamik bir yapıya sahip ilişkisel veritabanı kullanacağımız bir uygulama geliştirdiğimizde ne yapacağız? 

.Net geliştiricilerin olmazsa olmaz iki tane editörü vardır bir Visual Studio iki MsSql Server Management Studio. .NET Core ile birlikte Visual Studio diğer platformlar (macOs, Linux) içinde bir açılım yaptı. Ama henüze MsSql Server Management Studio’dan böyle bir açılım gelmedi ve gelişmeleri de takip edecek olursak yakın zamanda geleceğe de benzemiyor. Artık günümüzde MsSql yerini zaten Cloud, Azure gibi yapılar yer almakta local bir veri tabanı sistemine ne gerek var der gibi olduğunuzu biliyorum. Ama yine de ilişkisel veri tabanı üzerinde çalışmak isterseniz ve benim gibi. .NET deyince aklınıza Visual Studio ve MsSql Server geliyorsa tam yerindesiniz. Evet Microsoft Sql Server kros platformlara tam olarak kendini açmadı ama konteyner yapıları üzerinden yani Docker üzerinde çalışmasına olanak tanıdı. Bu nedenle öncelikli olarak Mac bilgisayarımıza docker kurup, docker üzerinden bir MsSql Server’ımızı ayağa kaldıracağız. Daha sonrasında ise MsSql Server Management Studio yerine Visual Studio Code’u kullanarak tablolarımıza erişimi göstereceğiz.

Visual Studio Code Kurulumu

1) Aşağıda ki linki kullanarak Visual Studio Code’u indiriyoruz. 

https://visualstudio.microsoft.com/tr/

Visual Studio Code, üç platformda da çalışabilme özelliğine sahiptir. Windows, MacOs, Linux. Bizler indir butonuna tıklayınca açılan sekmenden macOS Paketini indiriyoruz.

2) İndirdiğimiz macOS paketini resimde görüldüğü gibi “Finder” üzerinden “Application” dosyamızın içerisine sürükleyip bırakıyoruz.

3) Artık Launchpad üzerinde Visual Studio Code kolaylıkla başlatabiliriz.

Docker ve MsSql Server Kurulumu

1) Aşağıda ki linki kullanarak docker kurulum dosyasına erişin

https://hub.docker.com/editions/community/docker-ce-desktop-mac

2) İndirilen kurulum dosyamıza tıklayalım ve çıkan ekranda, klasik macOS program kurma işlemini sürükle bırak işlevi ile gerçekleştirelim.

3) 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.

4) Yukarıdaki resimde görüldüğü gibi Docker sekmesinden Sign in / Create Docker ID linkini takip ederek bir Docker hesabı oluşturunuz ve daha sonrasında bilgisayarınız üzerinden oturum açınız. Bu işlemler için Free (ücretsiz) versiyonu yeterli olacaktır.

5) Şimdi ise Docker üzerinden Microsoft SQL Server’ı kuracağız bunun için altta ki linki kullanarak indirme sayfasına erişiyoruz. Bu sayfada yer alan terminal komutunu kopyalayarak terminalimiz üzerinde çalıştırıyoruz. “Burada aşağıdaki resimde kırmızı ile gösterdiğimiz MsSql Server’ın son versiyonu olan 2019 tercih ediyorum.”

Terminal Kodu: docker pull mcr.microsoft.com/mssql/server:2019-latest

https://hub.docker.com/_/microsoft-mssql-server

6) Yazdığımız komut sonrasında MsSql Server kurulmuş olacaktır.

7) Kurulum tamamlandıktan sonra sıra MsSql serverimizi ayağa kaldırmaya geldi. Yine aynı sayfa da bulunan “How to use this Image” başlığı altında ki  docker run komutunu kullanarak SqlServerimizi çalıştıracağız.

8) Terminal Kodu: docker run –name ms_sql_server -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=5uper5trongPW!’ -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest

Parametrelerin detaylarına bakacak olursak:

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

9) Böylece MsSql Serverimiz kurmuş ve ayağa kaldırmış oluyoruz. Artık Docker üzerinden çalışan bir Sgl Serverimiz var. Docker Dashboard’u kullanarak çalışan Sgl Server’ın bilgilerine erişebilirsiniz.

Visual Studio Code ile Ms Sql Server’a Bağlanma

Şimdi sıra Sql Server’a bağlanarak işlem yapmada. Windows’da bildiğiniz üzere veri tabanı işlemler için Ms Sgl Server Management Studio kullanırdık. Maalesef ki yukarıda belirttiğim gibi Management Studio’nun macOS işletim sistemi için çalışan bir komponenti bulunmuyor. Bizlerde bu probleme çözüm olarak Visual Studio Code kullanabiliriz.

1) Visual Studio Code’un Microsoft’un SQL Server (mssql) extension kullanarak veri tabanımız üzerinde sorgularımızı gerçekleştirebiliriz. Visual Studio Code programını açınız. Extension alanına geliniz. Arama bölümene “SQL Server (mssql)” yazınız ve programı kurunuz. Kurulum tamamlandıktan sonra Visual Studio Code üzerinde ayarlar (çark simgesi) üzerinden güncelleştir ve yeniden başlat simgesi çıkacaktır. Bu sekmeyi kullanarak Code yeniden başlattığımızda işlemimiz tamamlanmış olacaktır.

2) Sol menüden yükleme sonrası oluşan SQL Server iconuna tıklayın. Gelen menüden “CONNECTIONS” menüsünün altında ki “+ Add Connection” linkine tıklayın.

3) Tıkladıktan sonra, Code üzerinde bir Command Panel açılacaktır. Burada ilk olarak bizlerden Server Name isteyecektir. Buraya “localhost” yazalım.

4) İkinci olarak ise bizden bir Database ismi isteyecektir henüz hiçbir Database oluşturmadığımız için boş geçebiliriz Enter’a basıp devam ediniz.

5) Üçüncü olarak ise bağlantı tipi seçmemizi isteyecektir. Integrated authentication mı yoksa kullanıcı adı/şifre kullanarak (SQL Login) giriş yapmak istediğimizi belirtiyoruz. SQL Login seçerek devam ediniz.

6) Bağlanacağımız veritabanının kullanıcı bilgisini giriyoruz. Hatırlayacağınız üzere bu bilgileri bir önceki başlıkta madde: 8’de terminal kodu olarak girip tanımlamıştık. “sa” yazıp devam ediyoruz.

7) Oluşturduğumuz kullanıcıya ait şifreyi giriyoruz. “5uper5trongPW!”

8) Burada bizden şu ana kadar girdiğimiz profil bilgilerini kayıt edip/etmeyeceğimizi soruyor. “Yes” deyip devam ediyoruz.

9) Profilimize bir isim veriyoruz. “profilim1”

10) Ve işlemem tamam artık MsSql Server’a Visual Studio Code üzerinden bağlanmış bulunmaktayız.

Visual Studio Code Sql Sorgu Çalıştırma

Visual Studio Code üzerinde Mssql uzantısını aktif ettiğimizde, dil modu SQL olarak ayarlanacağından dolayı kod düzenleyicide mssql komutları ve T-SQL IntelliSense etkinleştirilir.

1) Dosya> Yeni Dosya’yı seçin veya Ctrl + N’ye basın. Visual Studio Code, varsayılan olarak yeni bir Düz Metin dosyası açar.

2) Alt durum çubuğunda “Plain Text (Düz Metin)” linkine tıklayın veya Ctrl + K ardından M’ye basın ve açılan diller menüsünden SQL’i seçin.

3) Şimdi sorgumuzu yazalım, 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.

4) İlk sorgunuzu çalıştırdığınızda bir defaya mahsus olarak connection (bağlantı) modelini seçmenizi isteyecektir. Kayıt ettiğimiz profilimizi seçiyoruz.

5) Ve sonuç…

Ayrıca, Visual Studio Code ile Transact-SQL oluşturmak ve çalıştırmak için bakınız:

https://docs.microsoft.com/en-us/sql/tools/visual-studio-code/sql-server-develop-use-vscode?view=sql-server-ver15