少なくとも 4.0.2 に更新された .NET Framework 4 が必要です。4.0.2 を使用している場合は、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319\SKUs.NETFramework,Version=v4.0.2
最新の VS 2012 をインストールしている場合、既に 4.0.2 をインストールしている可能性があります。最初に確認するだけです。
次に、 のインスタンスが必要ですLocalDb
。デフォルトでは、名前が 1v
文字の後に LocalDB のリリース バージョン番号が xx.x の形式で続くインスタンスがあります。たとえば、v11.0
SQL Server 2012 を表します。自動インスタンスは既定でパブリックです。private である名前付きインスタンスを持つこともできます。名前付きインスタンスは他のインスタンスからの分離を提供し、他のデータベース ユーザーとのリソースの競合を減らすことでパフォーマンスを向上させることができます。ユーティリティを使用してインスタンスのステータスを確認できSqlLocalDb.exe
ます (コマンド ラインから実行します)。
次に、接続文字列は次のようになります。
"Server=(localdb)\v11.0;統合セキュリティ=true;" また
"データ ソース = (localdb)\test;統合セキュリティ = true;"
あなたのコードから。どちらも同じです。とは特殊文字を意味する\\
ため、2 つが必要であることに注意してください。また、後に表示されるのは、LocalDb インスタンスの名前であることに注意してください。はデフォルトのパブリック インスタンスであり、私が手動で作成したプライベートなものです。\v
\t
(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', 'admin@sqlfiddle.com'),
('Twitter', '@sqlfiddle');";
SqlLocalDb.exe
utility はデータベースへのアクセスを提供しないことに注意してくださいsqlcmd
。悲しいことに、別途 utility が必要です..