アプリ開発ときどきアウトドア

主にJavaを使ったアプリ開発やトラブルシューティング等のノウハウ、キャンプや登山の紹介や体験談など。

1. システムエンジニアリング Visual Studio 実装技術

Visual Studio 2019の開発用データベース

投稿日:2020年7月6日 更新日:

Visual Studio 2019でのASP.NET Coreを使ったシステム開発の標準化を検討している。
開発工程では技術検証、新機能向けのテーブル定義の検討、単体試験等を目的として、開発者が自由に使用できるローカルのデータベースが望まれる。ここでは、Visual Studio 2019でASP.NET Coreを開発する際に自動的に組み込まれる”SQL Server Express LocalDB”の概要や簡単な操作例を説明する。

Visual Studio の開発用データベース

  • Visual Studio 2019のインストール時に指定できるワークロードで「ASP.NET と Web 開発」を選択することで「SQL Server Express LocalDB エンジン」がインストールされるので、こちらを利用します。
  • Visual Studio付属の[SQL Server オブジェクト エクスプローラー]ビューウインドウを使用することで、データベース接続が可能です。このウインドウを使って、テーブル作成、データ編集、クエリ実行等の基本的な操作を行えます。
  • SQL Server Express LocalDB エンジンの概要は次の通りです。
    • 「SQL Server Express LocalDB」はSQL Server Expressエディションの一部であり、アプリケーション開発者向けの軽量のSQL Serverデータベースです。開発者向けのものであり、リッチな構成・管理ツールは付属しませんが、インストールが簡単ですぐに使用できます。
    • SQL Server Express WebLog“によると、対して2つのニーズがあったそうです。これらを無理にSQL Server Expressに詰め込むより、ExpressとExpress LocalDBに分離する方式を採用したそうです。
      1. 無償版SQL Server: インストール、管理、プログラミングに関して他のエディションと100%互換があり、かつ無償である。勉強やトレーニング、本番環境の縮小版として使用したい。
      2. 開発用SQL Server: 本番でSQL Serverを使用する想定のアプリケーション開発で使用したい。(具体的な要件として、軽量・シンプルで管理を必要とせず、非管理者ユーザで実行できる、等)
    • 「SQL Server Express LocalDB エンジン」はSQL Server Expressの一部であるため、SQL Server Expressのインストーラからもインストール可能です。

使用方法

データベースへの接続

SQL Server オブジェクト エクスプローラーウインドを使って接続を確認します。

  1. Visual Studio 2019の[表示]-[SQL Server オブジェクト エクスプローラー]をクリックする。
  2. 表示されたウインドウで各種の操作が可能です。
    データベースインスタンスとして、MSSQLLocalDBとProjectV13の2つがありますが、アプリケーション開発ではMSSQLLocalDBを使用します。
    (ProjectV13は”SQL Server Data Tools(SSDT)“というDBツールで使用するインスタンスです。)

クエリの実行例

“(localdb)\MSSQLLocalDB”インスタンスを右クリックし、[新しいクエリ]をクリックすることで、クエリ実行ウインドウを表示できます。

クエリ実行ウインドウでのデータベースやテーブルの作成例です。
(既定の宣言で作成したデータベース・テーブルではvarcharで日本語が文字化けしてしまいます。本来であればnchar, nvachar型を使用するべきかもしれませんが、ここでは”COLLATE Japanese_CI_AS”を指定してvarcharで日本語を使用できるようにしています。)

GUIの使用例

SQL Server Management StudioのようにGUIでデータベースオブジェクトを右クリックし、データベースの作成、テーブル定義の変更、データ編集ができます。


接続文字列の確認

SQL Server オブジェクト エクスプローラーウインドで、対象のデータベースのプロパティを表示して、接続文字列を確認できます。

なお、前述の例で作成したデータベースへの接続文字列は次のようになります。

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=test;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False

参考

SQL Server Express LocalDBのインストール

Visual Studio 2019のインストール時に指定できるワークロードで、「ASP.NET と Web 開発」や「データの保存と処理 」を選択することで「SQL Server Express LocalDB エンジン」がインストールされます。
(インストールされていない場合、後からVisual Studio 2019のインストーラを起動し、「変更」にて選択できます。)

[個別のコンポーネント]で個別に指定してインストールすることもできます。

データベースファイルの保存場所

データベースのファイル群の既定の保存場所は次の場所になります。

C:\Users\(ユーザ名)\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB

参考リンク



(adsbygoogle = window.adsbygoogle || []).push({});


(adsbygoogle = window.adsbygoogle || []).push({});

-1. システムエンジニアリング, Visual Studio, 実装技術

執筆者:

関連記事

ASP.NET Core: IHttpClientFactoryの検証用サンプル

本番環境ではあまり使うことはない、検証環境を想定したサンプルを紹介します。 本来のIHttpClientFactoryの使い方や基本的なサンプルは下記を参考にしていただければと思います。 ASP.NE …

ASP.NET Core: エラーメッセージ一覧のカスタマイズ

ASP.NET Core標準のasp-validation-summary属性では単純なエラーメッセージの一覧しか出力しかできません。 ここでは、asp-validation-summary属性と同様 …

Hyper-VでリモートのISOイメージをマウント

皆で使用するCD/DVDはISOイメージファイルとして、ファイルサーバ上の共有フォルダに配置する運用を想定しています。Hyper-V上の仮想マシンのCD/DVDドライブに、これらのISOイメージファイ …

Webアプリ用のサイトマップ生成

Googleの検索結果への表示を促進するためにGoogleに対してサイトマップを提供する必要がある。 WordPressでは様々なプラグインを使ってサイトマップを作成できるが、Webアプリの場合は独自 …

grid

Excelで月初日、第1週日、第2週日を算出する

プロジェクト管理で毎年、毎月のタスクを管理するために、この辺の操作を行うためのExcel関数を調べたので記載しておきます。 Excelの関数式 ここでは、基本的に5営業日単位で管理したいことと、最初の …