Firebird是一个好的嵌入式数据库适用于ASP.NET吗?还有哪些选择?

3
寻找一个适用于我的asp.net应用程序的嵌入式数据库,同时避免使用SQLExpress(我需要它是一个可下载的文件,而不需要在服务器上安装),我发现了Firebird。但是:

根据这个网页: http://en.wikipedia.org/wiki/Embedded_database#Firebird_Embedded

它具有与Firebird经典版和超级服务器版相同的功能,除了两个或更多线程(不仅仅是应用程序)不能同时访问同一个数据库。因此,Firebird嵌入式作为一个本地服务器,为单线程客户端访问其数据库(这意味着它对于ASP.NET Web应用程序不能正常工作

然而,根据这个网页http://www.firebirdsql.org/en/development-net-provider/,有一些ASP.NET提供程序已经发布。

ADO.NET数据提供程序、ASP.NET Web提供程序和DDEX提供程序的每周构建版本可以在这里找到。

所以问题是:它是否是一个适用于asp.net的好的嵌入式数据库替代品?

如果不是,你会推荐什么替代品?


3
我已经修复了维基百科文章,Firebird 2.5嵌入式是完全支持多线程的,并且它也完全支持ASP.NET。参考链接:http://blog.cincura.net/231742-firebird-embedded-in-comparison-to-sql-server-compact-edition-4/ - Mariuz
@Mariuz:非常好,谢谢!你应该把它发布为一个答案。 - František Žiačik
我已经发布了答案,忘记了您不能对评论投票。 - Mariuz
如果符合您的要求,您也可以将MS Access用作嵌入式数据库。 - Nitin Sawant
3个回答

3

3

是的,它就是。我相信它是你最好的选择之一。

特别是因为你将在非 MS 环境下运行它。我知道 PostgreSQL 是一个很好的开源数据库,但它没有嵌入式版本。

你的另一个选择是 SQLite


1
Firebird嵌入式工作的很好,如果需要完整版,你可以方便地切换。 - Hugues Van Landeghem
@Hughes 当然没问题!我只是提到了 SQLite,因为原帖作者需要知道选项。 - Adriano Carneiro
你好,感谢你的回答。但是在多线程环境下,比如 Web 应用程序中,这样做是否可行呢?因为据我所知,SQLite 由于缺乏适当的锁定机制而存在(或曾经存在)问题(整个数据库将在更新时被锁定,使所有其他客户端等待)。这是一个问题还是不是? - František Žiačik
关于SQLite,我不太清楚。那你为什么不安装Firebird服务器呢?这是一个非常简单的过程。嵌入式Firebird适用于独立应用程序。 - Adriano Carneiro
我想将它放在共享托管服务器上,所以我不确定是否被允许这样做。 - František Žiačik

0

有一件值得关注的事情是SQL Compact。最新版本与ASP.NET兼容,并在进程中运行。您只需要部署几个DLL即可。

我必须承认,我对Firebird并不了解,因此无法直接进行比较。


抱歉,我应该提到我对任何微软解决方案都不感兴趣(需要在Mono上运行)。 - František Žiačik
在这种情况下,SQL Compact 绝对不适合您,因为它是托管代码。 - Matthew Steeples

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接