需要将 .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
字符,后跟 LocalDB 版本号,格式为 xx.x。例如,v11.0
代表 SQL Server 2012。默认情况下,自动实例是公共的。您还可以拥有私有的命名实例。命名实例提供与其他实例的隔离,并且可以通过减少与其他数据库用户的资源争用来提高性能。您可以使用该实用程序检查实例的状态SqlLocalDb.exe
(从命令行运行它)。
接下来,您的连接字符串应如下所示:
“服务器=(localdb)\v11.0;集成安全=真;” 或者
“数据源=(localdb)\test;集成安全=true;”
从你的代码。他们都是一样的。注意两个\\
必需的,因为\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', 'admin@sqlfiddle.com'),
('Twitter', '@sqlfiddle');";
请注意,SqlLocalDb.exe
实用程序不会让您访问数据库,您需要单独sqlcmd
的实用程序,这是可悲的..