ちょっと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ページができました。
めでたしめでたし…
なおチュートリアルまだ終わってない模様…