【问题标题】:RavenDB, only way to store data with embedded db is in 'system database'?RavenDB,使用嵌入式数据库存储数据的唯一方法是在“系统数据库”中?
【发布时间】:2013-02-01 08:32:25
【问题描述】:

我使用嵌入式数据库,想知道操作数据的唯一方法是使用系统数据库吗?我在管理工作室看了一下,发现我所有的数据都转储到了系统数据库中。即使我在管理工作室中创建了一个新数据库,这个新数据库也保持不变。使用代码方法我没有进一步了解,因为嵌入式实例似乎不支持多租户。那么唯一的方法是存储和访问来自 SYSTEM DATABASE 的数据?

谢谢

【问题讨论】:

    标签: c# database ravendb ravendb-studio


    【解决方案1】:

    没错。嵌入式模式旨在针对单个数据库进行操作,该数据库也是系统数据库。它目前不支持其他“租户”数据库。

    如果您需要少量不同的数据库,您可以创建多个嵌入式数据库。每个都需要自己的 EmbeddableDocumentStore 实例,并为数据目录指定不同的路径。

    如果你设计的东西需要很多个数据库,嵌入式模式就不合适了。

    【讨论】:

      【解决方案2】:

      如果您为文档存储指定一个默认数据库名称,您的数据将存储在该数据库中。

      var documentStore = new EmbeddableDocumentStore
      {
          DataDirectory = "Data",
          DefaultDatabase = "MyDb"
      };
      documentStore.Initialize();
      

      【讨论】:

      • 快速提示(很难找到)。确保“DataDirectory”和“DefaultDatabase”中的数据库名称不同。否则可能会遇到异常“临时路径已被另一个数据库实例使用”。
      猜你喜欢
      • 2019-10-03
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 2018-09-08
      • 2011-01-05
      • 2017-09-16
      • 2012-07-12
      • 1970-01-01
      相关资源
      最近更新 更多