LoginSignup
4
5

More than 5 years have passed since last update.

AzureのAppServiceからSQLデータベースにasp.netで接続するまでに4日かかった話

Posted at

ちょっとAzure触りたくなった

ちょっとAzure触ってみてなんかリッチなUIだし?
さすがMicrosoft様Webブラウザ以外は完璧ね!
と思ってたのですが…

そいでもってちょっとなんか作ってみようかなとか思っちゃったわけですが!!
ついでにこのページをやってみようとか思ったわけですが!!
https://docs.microsoft.com/ja-jp/azure/app-service-web/web-sites-dotnet-deploy-aspnet-mvc-app-membership-oauth-sql-database

C#は好きだけど今までasp.netに一切触ってこず!
Azureも今あと無料期間9日残っているわたくしには!!
はまるポイントがめちゃくちゃあったので!!

僕と同じように挫折しそうな人のためにDB接続までの顛末記紹介していきます。

発行までの道のりがやばい

1,リソースグループを日本に立てよう

チュートリアルではVisualStudioがいい感じにやってくれると言っていますが
リソースグループを東日本にしときましょう。
特に無料のAppService使うなら日本のほうが近いぞ

AppServiceとかの新規のリソースグループから設定するとなんかアメリカになるっぽい

2,SQLデータベースとかVisualStudioから作ってくれなかった

デプロイ失敗したからあきらめて自分でインスタンス立てました(試用版だとだめなのかな?)
いいかい
以下の二つを立てるんだぞ

  • 「App Service」
  • 「SQL データベース」

よく似た「MySQL データベース」とかいうのがあるけどそれは罠だ
初心者を陥れようとする悪辣な罠だ
一番安いやつだと月額600円くらいで借りれるみたい幸せ

発行してからDBに接続できない編

3,とりあえず発行してみたら接続できなかった

チュートリアルでContactsっていうページを作って、ローカルで見てみたらわーい動いた楽しいなー
だったわけですが…
そっから発行したら動かない…

いやまぁそりゃそうだ(発行先の)ローカルにDBなんてありゃしない
さてここから三日かかりました…

4,そもそもローカルからデータベースに接続できない

じゃあとりあえずDBに(手元の)ローカルマシンから接続してみようというわけでこれを起動してみて接続してみる。
SQL Server Management Studio (SSMS) のダウンロード

なんかIPがどうとか言ってる…わかんない…

解決策

これに関してはSQLデータベースの設定から
ファイアウォール設定
でクライアントIPを許可リストに入れてあげよう

そうすると(多分)空のDBが表示されるはず

5,接続文字列…とは…?

なんやかんや探していると接続文字列というのがあるらしい
これをどっかにぶち込めばいいんだ!

Web.configとかいうのになんか書いてある
これ書きかえればいいんでしょ!

って失敗しました
そこを書き換えてはだめです。

ちなみに接続文字列はDBの設定から
データベース接続文字列の表示
というのが見れるのでそちらから取得できます。

このいかにもコピペできそうな文字列がまた罠だったんですけどね…

6,データベースは書き換えられた

接続文字列は発行するときのダイアログの
「設定」->「ApplicationDBContext」にコピペで設定します。
チュートリアルに沿ってCode First Migrationsを実行するにチェックを入れます。

そして発行すると…
DBが!書き換わりません!!

実はですね…よく見るとですね
この接続文字列こんな感じになってましてね
「Server=tcp:hogehogehugahuga.windows.net,1433;Initial Catalog=hoge_db;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;」

ここ、書き換えないといけないんだよね…
注意書きとか書いといてよ…

  • {your_username}
  • {your_password}

というわけで、これを入れるとDBが書き換わって無事Contactsに素晴らしいページが出来上がって!!ない。゜(゜´Д`゜)゜。!!

次で本当に接続できます。

7,AppService側にも接続文字列の設定あった

最後にAppServiceの画面から
アプリケーション設定というものがあるのでそこの接続文字列の設定をいじってあげてください。
これが上書きされるみたいです。

これで無事素敵なContactsページができました。

めでたしめでたし…
なおチュートリアルまだ終わってない模様…

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5