c# - 如果需要,我将如何以编程方式访问或打开交换 edb 文件?

标签 c# c++ exchange-server

<分区>

我想知道如何使用 C# 以编程方式访问 Exchange 数据库文件。任何帮助都是极好的。只是在寻找一些指针,例如库等...我想自己弄清楚代码。

C++ 等其他语言会是更好的方法吗?

非常感谢所有帮助我的人:)

最佳答案

.edb 文件


.edb 文件是邮箱数据的主要存储库。 .edb 文件的基本构造是 b 树结构,它只出现在这个文件中,而不出现在 .stm 文件中。 B 树设计用于一次快速访问多个页面。 .edb 文件设计允许顶级节点和许多子节点。

在 B 树中,每个子节点只能有一个父节点。尽管典型的 b-tree 允许无限深度,但 Microsoft 在其大多数应用程序中限制了 b-tree 的深度,以便于任何引擎恰好使用它来快速访问。通过允许如此高的传播和低的树深度,Exchange 和 ESE 可以保证用户可以在四个 I/O 内访问任何数据页(称为叶节点)。

树的深度对性能的影响最大。整个结构的统一树深度(其中每个叶节点或数据页与根节点的距离相等)意味着数据库性能是一致且可预测的。通过这种方式,ESE 4 KB 页面被排列成表格,形成包含 Exchange 数据的大型数据库文件。

数据库实际上是由多个b树组成的。这些其他辅助树包含与主树一起工作的索引和 View 。

.edb 文件由 ESE 直接访问。

这是 ESE 信息的链接:

http://msdn.microsoft.com/en-us/library/5c485eff-4329-4dc1-aa45-fb66e6554792.aspx

我能够连接到数据库,将在 Windows 操作系统中内置库。这是引用:

http://msdn.microsoft.com/en-us/library/dn375980(v=exchg.10).aspx

为了更好地理解如何连接,我建议这也可能是一个很好的引用?

http://msdn.microsoft.com/en-us/library/gg294096(v=exchg.10).aspx

关于c# - 如果需要,我将如何以编程方式访问或打开交换 edb 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22928674/

相关文章:

c# - MongoDB C# Driver 2.0 - 更新文档

c++ - 如何在 Bison 解析器上返回多个标记?

asp.net - 跨域查询用户的全局地址列表(GAL)

powershell - Import-PSSession-内存泄漏

exchange-server - 当 Body 不存在时,UniqueBody 为空

c# - 将样式属性添加到 Html.BeginForm MVC/C#

c# - Rotativa - 奇怪的 header 输出

javascript - Emscripten:如何捕获JS异常?

c++ - 设置子模块目标的输出目录时 CMAKE_BINARY_DIR 和 PROJECT_BINARY_DIR 之间的权衡

c# - 如何异步检索多个网站?