需要一个数据库才能与.NET应用程序一起使用而无需安装

时间:2014-02-04 14:09:15

标签: c# .net database winforms

我们正在创建一个会计类型应用程序,需要知道一些数据库使用的选项,而无需用户安装数据库。我知道有一些方法可以做到这一点,但我想就最佳方式以及在哪里找到更多相关信息提出一些意见。

4 个答案:

答案 0 :(得分:4)

有两个非常可行的选择:

  1. SQLite的
  2. SQL CE
  3. 这两个选项都是基于文件的,它们具有功能齐全的ADO.NET API。

答案 1 :(得分:0)

我认为你可以查看VistaDB。我们已经在我们公司使用这个数据库4 - 5年,它符合我们的目的。您无需在部署期间安装任何软件。您的所有数据都将位于.vdb3文件中。我最喜欢的功能是“Pack”,它将重新索引您的数据,保存文件大小并保持高性能。你也可以从代码中做到这一点。他们在新版本中支持实体框架。他们的示例代码很有用,您可以立即开始编码。在线支持也很棒。

答案 2 :(得分:0)

没有任何东西你可以立即开始使用OleDB(例如可怕,但它的MSDN)和MS Access(mdb)数据库。

创建数据库(使用ADOX)

Type typeAdox = Type.GetTypeFromProgID("ADOX.Catalog");
object objAdox = Activator.CreateInstance(typeAdox);
typeAdox.InvokeMember("Create", BindingFlags.InvokeMethod, null, objAdox, new object[] { "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file });
Marshal.ReleaseComObject(objAdox);

创建表

using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file))
{
    connection.Open();
    OleDbCommand command = new OleDbCommand("CREATE TABLE trololol (id datetime NOT NULL PRIMARY KEY, blob longbinary)", connection);
    command.ExecuteNonQuery();
}

依旧......

答案 3 :(得分:0)

Microsoft SQL Server LocalDB(announcement - MSDN),与.NET和EF兼容。

需要一个小的msi作为安装运行,但它可以与应用程序的安装完全捆绑在一起(或者它可以在首次运行时执行。)