3
3

書籍『C#ユーザーのためのWebアプリ開発パターン』の詰まりポイント #1

Posted at

本記事を書いた動機

先日、立ち寄った書店にて次の書籍を購入した。
『C#ユーザーのためのWebアプリ開発パターン』(伊藤 稔 著/大田 一希 著/小山 崇 著/辻本 海成 著/久野 太三 著/赤間 信幸 著/赤間 信幸 監修/井上 章 著/井上 章 監修)(インプレス)

現在、手を動かしながら読み進めているところだが、序盤で詰まる箇所に遭遇した。
挫折者を一人でも減らすため、著作権に触れない範囲で解決方法を共有することにした。

この書籍(以下、本書とする)は、事前に準備した SQL Server をDBとして利用し、C#のBlazorをハンズオン形式で効率良く学べる構成となっている。

裏を返せば、最初に SQL Server を立てなければハンズオン形式で学ぶことが出来ないとも言える。

本書では付録として SQL Server の構築方法が複数紹介されている。
そのうちのひとつである「カスタムDockerイメージを作成・利用する」構築方法に関して、いくつか詰まってしまったポイントがあった。

具体的には、本書記載のGitリポジトリ内にあるDockerfileが私の環境では動作しなかった。

環境

Windows 11 Pro: 22H2
Docker Desktop: v4.32.0
Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.9.6

修正点1:

コピーするファイルの拡張子がDockerfileの記述と一致していないため、ファイルの拡張子を .sql から .txt に変更する。もしくはDockerfileを書き換えることで一致させる。

修正点2:

sqlcmdが格納されているディレクトリが存在しないのでDockerfileを修正する。
修正前:/opt/mssql-tools/bin/sqlcmd
修正後:/opt/mssql-tools18/bin/sqlcmd

修正点3:

sqlcmdでサーバー証明書を信頼する(Trust Server Certificate)オプションを追加する。(-C
修正前だと以下のようなエラーが吐かれる。

Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate].

修正後のコマンドは以下のようになる。
/opt/mssql-tools18/bin/sqlcmd -C -S127.0.0.1 ...

その他

なお、SQL Serverを利用する上で、環境変数としてSA_PASSWORDの使用は非推奨となっているため、公式ドキュメントを参考に、MSSQL_SA_PASSWORDを設定して利用した方がよいだろう。

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