SQLDatabaseを使ってみる

SQLDatabaseはMicrosoftが提供するクラウド上のRDBです。
SQLServerに比べると機能は少ないようですが、
PaaSなのでMicrosoftがいろいろと管理してくれます。

SQLDatabase作成

新規ボタン > データサービス > SQLデータベース > 簡易サービス を選択し
データベース名を入力するだけです。

createSQLdatabase.png

SQLDatabase_vs.png
作成されました。

下の方のメニューの「VISUAL STUDIOで開く」というボタンを押してみると
VSでSQLServerObjectExplorerが開いて編集できるようです。
SQLDatabaseVS.png
適当にテーブルを作成し、データを入れておきました。

管理ポータルからもsilverlightの管理画面があり編集できるようでした。
SQLdatabaseKanri.png

SQLDatabase接続

接続の仕方は非常に親切で管理ポータル上の「接続文字列の表示」で
各言語の接続文字列を表示してくれます。

SQLDatabase2.png

Websitesから接続するためには
Websitesの「リンク済みリソース」よりSQLDatabaseをリンクさせておきます
SQLDatabaseLink.png

実際に接続してみる

Dapperを使って、テーブルの中身をjsonで出力してみます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Post
{
public string Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
}
public class PostsController : Controller
{
// GET: Post
public ActionResult Index()
{
var posts = new List<Post>();
string constring = "接続文字列";
using (IDbConnection db = new SqlConnection(constring)) {
db.Open();
posts = db.Query<Post>("select * from posts").ToList();
db.Close();
}
return Json(posts, JsonRequestBehavior.AllowGet);
}
}

デプロイして
http://teppeee.azurewebsites.net/posts
にアクセスすると

1
[{"Id":"1","Title":"タイトル1","Body":"本文1本文1本文1"},{"Id":"2","Title":"タイトル2","Body":"本文2本文2本文2"},{"Id":"3","Title":"タイトル3","Body":"本文3本文3本文3"}]

接続できました。

導入は非常に簡単にできることがわかりました。