-
.NETFramework4を少なくとも4.0.2に更新する必要があります。 4.0.2をお持ちの場合は、
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v4.0.30319 \ SKUs.NETFramework、Version =v4.0.2
最新のVS2012をインストールしている場合は、すでに4.0.2を使用している可能性があります。最初に確認してください。
-
次に、
LocalDb
のインスタンスが必要です 。デフォルトでは、名前が単一のv
であるインスタンスがあります 文字の後に、xx.x形式のLocalDBリリースバージョン番号が続きます。例:v11.0
SQLServer2012を表します。自動インスタンスはデフォルトでパブリックです。プライベートな名前付きインスタンスを持つこともできます。名前付きインスタンスは、他のインスタンスからの分離を提供し、他のデータベースユーザーとのリソース競合を減らすことでパフォーマンスを向上させることができます。SqlLocalDb.exe
を使用して、インスタンスのステータスを確認できます。 ユーティリティ(コマンドラインから実行)。 -
次に、接続文字列は次のようになります。
"Server =(localdb)\ v11.0; Integrated Security=true;"または
"データソース=(localdb)\ test; IntegratedSecurity =true;"
コードから 。どちらも同じです。 2つの\\
に注意してください \v
のために必要 および\t
特殊文字を意味します。 (localdb)\\
の後に表示される内容にも注意してください LocalDbインスタンスの名前です。 v11.0
デフォルトのパブリックインスタンスであるtest
手動で作成したプライベートなものです。
-
データベース(.mdfファイル)が既にある場合:
"Server=(localdb)\\Test;Integrated Security=true;AttachDbFileName= myDbFile;"
-
SQL Serverデータベースがない場合:
"Server=(localdb)\\v11.0;Integrated Security=true;"
また、プログラムで独自のデータベースを作成できます:
a)デフォルト設定でデフォルトの場所に保存するには:
var query = "CREATE DATABASE myDbName;";
b)独自のカスタム設定を使用して特定の場所に保存するには:
// your db name
string dbName = "myDbName";
// path to your db files:
// ensure that the directory exists and you have read write permission.
string[] files = { Path.Combine(Application.StartupPath, dbName + ".mdf"),
Path.Combine(Application.StartupPath, dbName + ".ldf") };
// db creation query:
// note that the data file and log file have different logical names
var query = "CREATE DATABASE " + dbName +
" ON PRIMARY" +
" (NAME = " + dbName + "_data," +
" FILENAME = '" + files[0] + "'," +
" SIZE = 3MB," +
" MAXSIZE = 10MB," +
" FILEGROWTH = 10%)" +
" LOG ON" +
" (NAME = " + dbName + "_log," +
" FILENAME = '" + files[1] + "'," +
" SIZE = 1MB," +
" MAXSIZE = 5MB," +
" FILEGROWTH = 10%)" +
";";
そして実行してください!
サンプルテーブルは、次のようにデータベースにロードできます。
@"CREATE TABLE supportContacts
(
id int identity primary key,
type varchar(20),
details varchar(30)
);
INSERT INTO supportContacts
(type, details)
VALUES
('Email', '[email protected]'),
('Twitter', '@sqlfiddle');";
SqlLocalDb.exe
に注意してください ユーティリティではデータベースにアクセスできません。別途sqlcmd
が必要です。 悲しいユーティリティ..