【发布时间】:2014-08-29 23:46:58
【问题描述】:
如何以编程方式创建 localdb .mdf?
可接受的解决方案排除visual studio、ssms、aspnet_regsql。
一个天真的解决方案可能看起来像这样:
static void Main(string[] args)
{
using (var con = new SqlConnection(@"Integrated Security=SSPI;Data Source=(LocalDb)\v11.0;AttachDbFilename=test.mdf"))
{
con.Open();
using (var cmd = new SqlCommand("CREATE DATABASE test", con))
{
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
}
}
当然,这在 SqlConnection.Open 中失败并出现错误
尝试为文件 test.mdf 附加自动命名的数据库失败。存在同名数据库,或指定文件无法打开,或位于 UNC 共享上。
如果指定的 .mdf 不存在,则无法连接到数据库。
那么...你如何创建一个?
【问题讨论】:
-
您可以使用
SqlLocalDButility 来创建、启动和停止LocalDB 实例。拥有实例后,您可以使用SQLCMD对新实例执行类似CREATE DATABASE (databasename)的命令 -
不幸的是 SqlLocalDB 没有创建一个可以与 AttachDbFilename 一起使用的 .mdf。
标签: sql-server-2012 localdb mdf