Posted at

Azure SQL DatabaseにLinuxからDataGripを使って接続する

More than 3 years have passed since last update.

Azure loves linuxと言われているようにMicrosoftは多くの製品をクロスプラットフォームな環境から利用することができるようにしています。

中でもApp ServicesなどのPaaSサービスは、様々なデータを処理し、SQL Databaseへデータを貯めこむことがWindowsでなくてもできます。

しかしSQL DatabaseはMicrosoftのSQLシステムなのでMySQLのようにLinuxからコンソールを使って接続するのはなかなか大変です。(なにかやり方があるのかもしれないけど)

おまけにAzure for Microsoft Imagineを使えば学生は無料でSQL Databaseを使い放題なのでLinuxやMacからSQL Databaseをいじる仕組みさえあればSQL DatabaseはLinuxやMacユーザーからも利用してもらえるでしょう。


DataGrip

LinuxやMacからSQL Databaseに接続する方法としてはJetBrainsのDataGripという製品があります。

DataGripはJava製品なのでJREさえ入っていればWindowsだろうが、Macだろうが、Linuxだろうが動きます。

今回はこれを使ってAzure上のSQL Databaseに接続したいと思います。

ちなみにDataGripは有償製品ですが、学生ならば無料ライセンスを発行することができます。


SQL Databaseのインスタンスを作成する

管理ポータルから[新規]>[Databases]>[SQL Database]を押します。

新規作成に必要な項目を埋めて、作成していないならばサーバーも作成します。

1.png

この時、サーバー作成時に指定した


  • ユーザー名

  • パスワード

  • SQLサーバーのURL

をメモしておいてください。

次にSQLサーバーのファイアウォールの設定をします。

デフォルトではSQLサーバーは指定IP以外は拒否するようになっているので自身のIPを指定して接続できるようにします。

上にある[+]ボタンを押すとすぐにできて便利です。

できたら[保存]ボタンを押します。

3.png


DataGripでSQL Databaseを使えるようにする

DataGripはデフォルトでSQL Databaseのドライバーが入っていないので接続できません。

DataGripでは各種ドライバーも設定からGUIでダウンロードできます。

[File]>[Data Sources]を選択し、[SQL Server(Microsoft)]を選択します。

Driver filesから[Download]をクリックします。

2.png

ダウンロードできたらOKを押します。


接続する

[View]>[Tool Windows]>[Database]を選択してDatabaseウインドウを開きます。

[+]>[SQL Server(Microsoft)]を押して新しく接続設定を作ります。

ここでHostに先ほどメモしたSQLサーバーのアドレス、Databaseにデータベース名、Userにユーザー名、Passwordにパスワードを入力します。

[Test Connection]を押してSuccessfulが表示されればOKです。

4.png

できたら[OK]を押します。


SQLクエリを発行する。

もうSQLサーバーを操作できる状態にあるのでSQLクエリを発行してみましょう。

以下は新しくテーブルを作成するクエリです。

sql

create table {データベース名}.dbo.{テーブル}

(

id int PRIMARY KEY,

name TEXT

);



SQLクエリを実行するには上にある緑色の三角ボタンを押します。

ログにcompletedと表示されればSQLクエリ実行完了です。

5.png

Databaseウインドウを見ると、新しくテーブルを作成できていることが確認できます。

6.png

では以下のクエリを実行してDBにレコードを入れてみましょう。

INSERT INTO {テーブル名}(

id,
name
)VALUES (
0,
'taro'
);

インサートできたらselectで表示してみましょう。

select * from {テーブル名};

テーブルに値が入っていることが確認できました。

7.png


おわりに

AzureのPaaSサービスの多くは、MySQLよりもSQL Databaseに対応していることが多いです。

Azureを十分に使いこなすには、やはりSQL Databaseを使用するほうが良く、DataGripを使用すればMacやLinuxからでも操作が可能となります。

学生ならばDataGripもSQL Databaseも使い放題な上に、クエリ文もMySQLと大きく違うわけでもないのでぜひ使ってみてください。