在 .NET 中使用嵌入式 firebird 数据库
Posted
技术标签:
【中文标题】在 .NET 中使用嵌入式 firebird 数据库【英文标题】:Using embedded firebird database with .NET 【发布时间】:2010-11-03 08:48:26 【问题描述】:我想在 .NET 3.5 中使用 Embedded FireBird。我有几个问题:
(1) FireBird 社区在嵌入式版本上是否有新的进展?
(2) 里面有没有数据库文件修复和优化(收缩等)功能?
(3) 是否支持触发器、外键、PL/SQL 类型的东西等?
【问题讨论】:
【参考方案1】:(1) 有没有新的进展 在嵌入式版本上由 火鸟社区?
是的,嵌入式和客户端-服务器版本都是非常活跃的项目。 例如,为 ADO.NET 使用相同的嵌入式版本 dll,您可以使用最新版本的 firebird 引擎 dll,即使 ADO.NET Firebird 提供程序不是为该版本构建的,而是为以前的版本构建的。 在此处查看问题跟踪器:http://tracker.firebirdsql.org/secure/Dashboard.jspa
(2) 有没有数据库文件修复 & 优化(收缩等)功能 是吗?
是的,如此处所述:http://www.firebirdfaq.org/faq324/。您需要安装客户端-服务器版本的 firebird 才能从命令行使用 GFIX 和 GBAK。它只有几兆字节。 Firebird 没有“压缩”功能来缩小数据库。您需要备份然后恢复数据库来执行此操作。但是,您可以使用 firebird 数据库多年而无需备份/恢复(如果您很幸运并且硬盘没有死机)。您可能需要做的唯一一件事是重新计算所有指标的选择性,如下所述:http://www.firebirdsql.org/dotnetfirebird/blog/2005/03/improving-query-performance-through.html
(3) 是否支持Triggers, Foreign 键、PL/SQL 类型的东西等?
是的。 2.5版本的嵌入式引擎还支持同时从不同进程访问同一个数据库文件。
【讨论】:
【参考方案2】:回答您的问题:
嵌入式版本与普通 Firebird 类似,但封装在 DLL 中并有一些小限制。 Firebird 团队几天前刚刚发布了 SuperServer、Classic 和 Embedded 的 2.5 版本。更多信息请访问 Embedded Firebird Server 和 Firebird website。
有一些工具可以修复和优化数据库。检查How to repair a corrupt Firebird database
Firebird 符合 SQL:2003,如 Firebird: SQL Conformance 中所述。它有触发器、外键和存储过程。
希望有帮助
【讨论】:
FibPlus 和 FlameRobin 现在浮现在我的脑海中,但肯定还有更多。以上是关于在 .NET 中使用嵌入式 firebird 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 .NET Provider 在 Firebird 上启用 AUTODDL?
如何使用 Visual C# 2010 连接和使用 Firebird db 嵌入式服务器