как программно создать локальную базу данных .mdf?
приемлемые решения исключают визуальную студию, 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 не существует.
Итак... как его создать?
SqlLocalDB
утилиту для создания, запуска и остановки экземпляров LocalDB. . Когда у вас есть экземпляр, вы можете использоватьSQLCMD
для выполнения команды, подобнойCREATE DATABASE (databasename)
, для этого нового экземпляра. - person marc_s   schedule 30.08.2014