要求.NET Framework 4更新至至少4.0.2版本。如果您已经安装了4.0.2版本,则应该有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319\SKUs.NETFramework,Version=v4.0.2。如果您已安装最新的VS 2012,则很有可能已经具有4.0.2版本。请先进行验证。
您需要先创建一个
LocalDb
实例。默认情况下,您会拥有一个实例,其名称是单个
v
字符,后跟格式为 xx.x 的 LocalDB 发行版版本号。例如,
v11.0
代表 SQL Server 2012。
自动实例默认为公共实例。您还可以拥有私有的命名实例。 命名实例可以隔离其他实例,并通过减少与其他数据库用户的资源争用来提高性能。
您可以使用 SqlLocalDb.exe
实用程序(从命令行运行)检查实例的状态。
接下来,您的连接字符串应该如下所示:
"Server=(localdb)\v11.0;Integrated Security=true;"
或者
"Data Source=(localdb)\test;Integrated Security=true;"
从你的代码中。
它们都是相同的。 请注意需要两个
\\
,因为
\v
和
\t
表示特殊字符。还要注意,
(localdb)\\
之后出现的内容是你的LocalDb实例的名称。
v11.0
是默认的公共实例,
test
是我手动创建的私有实例。
If you have a database (.mdf file) already:
"Server=(localdb)\\Test
If you don't have a Sql Server database:
"Server=(localdb)\\v11.0
您可以通过编程方式创建自己的数据库:
a) 将其保存在默认位置并使用默认设置:
var query = "CREATE DATABASE myDbName;";
将其保存到特定位置并使用自定义设置:
// 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
实用程序无法访问数据库,您还需要单独使用
sqlcmd
实用程序,这很遗憾。
@
,否则反斜杠是特殊字符:@"(LocalDB)\v11.0"
。 - user743382(localdb)
服务器名称。 - Krzysztof Kozielczyk(LocalDb)\MSSQLLocalDB
- Jess