查看: 16786|回复: 53
|
推荐 Firebird 资料库
[复制链接]
|
|
Firebird是Borland开放Interbase 6的源码后,分支出来的开放源码资料库系统。Firebird是完全免费的,可以用作私人或商业用途。(注:许多人以为MySQL是完全免费的,事实并非如此,商业用途仍得付钱,请参考MySQL Commercial License。
你也许会将Firebird和Firefox浏览器扯上关系或感到混淆。Firefox的前名确实是Firebird,但因Firebird取名在先,双方协议下,Firefox浏览器就改成Firefox了。
目前的趋势显示,MySQL, Firebird和PostgreSQL是三大最受欢迎的开放源码资料库系统,Firebird更是可以说和MySQL并驾齐驰。(请参考zdnet报导和LinuxQuestions.org投票)
Firebird 1.5.2是最新的稳定版本,Firebird 2.0 Alpha刚刚公开下载。
Firebird可以在Linux、Windows、Mac OS X, Solaris和HP-UX等操作系统下执行。Firebird支持众多连接方式,如C++和Delphi的Component, ODBC, JDBC, PHP, OLEDB, dbExpress, .NET或以API直接使用。
Client/Server和Embedded两种使用模式
Firebird有Client/Server和Embedded两种使用模式。
Client/Server就和其它资料库系统一样,需执行server程式,server程式再和其它client联系。
Embedded不需要执行server程式,也无需安装,只需一个约2mb(1.5.2版)的dll和一些可有可无的文件,就可处理资料库。
最可贵的是,无论选择何种模式,资料库的文件结构仍然保持不变,Client/Server模式所创建的资料库也能被Embedded模式所运用,反之亦然。
Firebird与.NET
欲以.net语言(如C#和VB.NET)使用Firebird,请下载Firebird .NET Provider(最新稳定版是1.6.3):
http://firebird.sourceforge.net/ ... &id=netprovider
此provider同样可选择使用Client/Server或Embedded模式。
常见问题:http://firebird.sourceforge.net/ ... provider&id=faq
DotNetFirebird网页:http://www.dotnetfirebird.org
===================================================================
Firebird 主页:http://firebird.sourceforge.net/
技術支援Mailing List: http://groups.yahoo.com/group/firebird-support
Database Workbench (Firebird的GUI管理软件, 也可管理MySQL, SQL Server和Interbase): www.upscene.com
尚易資訊有限公司提供的Firebird Wiki (有提到Firebird + Visual Foxpro)
http://wiki.sunyear.com.tw/index.php?title=FirebirdSQL
[ 本帖最后由 fxam 于 22-8-2005 10:11 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 19-3-2005 10:06 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 19-3-2005 08:34 PM
|
显示全部楼层
不错. 一向来都用MYSQL. 多了个选择. 谢谢 |
|
|
|
|
|
|
|
楼主 |
发表于 19-3-2005 09:04 PM
|
显示全部楼层
谢谢棒场,因为Firebird在本地知名度很低,所以要打一些广告 |
|
|
|
|
|
|
|
发表于 19-3-2005 10:42 PM
|
显示全部楼层
听说PROTON EDAR的一些系统也用FIREBIRD |
|
|
|
|
|
|
|
发表于 21-3-2005 09:00 AM
|
显示全部楼层
多谢... 除了 MySQL, 现在又多一个选择了. |
|
|
|
|
|
|
|
发表于 22-3-2005 10:27 AM
|
显示全部楼层
我知道FIRE BIRD 的存在是因为 FIRE FOX的前名。
还没有用过,有机会一定要试试 |
|
|
|
|
|
|
|
发表于 22-3-2005 04:01 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 19-8-2005 12:36 AM
|
显示全部楼层
postgresql 已经有 20 年的历史了,可以说是重量级,功能齐全的 database.
firebird 是 borland interbase 的 open source 版本,
对于使用 borland 开发工具的使用者是非常方便的。
它在这几年的发展有些缓慢,但是它非常小,适合做 embedded
mysql 不太根据 sql92 的 syntax, 而且功能不太齐全,但是它可以混合使用
MyISAM, InnoDB 及 Berkeley DB 的 table, 也比较容易配合 php 使用。
长期开发,或大型程式则建议使用 postgreSQL 或 firebird.
[ 本帖最后由 flashang 于 19-8-2005 12:41 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 20-8-2005 09:01 AM
|
显示全部楼层
flashang 你有使用 FireBird 吗?
除了小、开源码。其它的好处?分享你的实用经验? |
|
|
|
|
|
|
|
发表于 22-8-2005 01:45 AM
|
显示全部楼层
原帖由 白日梦 于 20-8-2005 09:01 AM 发表
flashang 你有使用 FireBird 吗?
除了小、开源码。其它的好处?分享你的实用经验?
firebird 的一些优点:
对于 borland ide 的使用者非常的方便
可以用作 embedded
免费 (mysql 在商业用途需付费)
容易安装
几乎任何 platform 都可以使用
相当稳定
速度还算快 (对多人使用而言 mysql 3.x 版本有当机的可能)
它有大部分 sql 的功能 ( mysql 很多都没有)
支持 foreign key,row level locks,transactions,stored procedures,triggers |
|
|
|
|
|
|
|
发表于 22-8-2005 11:11 AM
|
显示全部楼层
请问firebird有什么缺点吗? 若多过10user会有什么问题吗?如何backup 和 retrieve back database呢? |
|
|
|
|
|
|
|
发表于 22-8-2005 09:44 PM
|
显示全部楼层
原帖由 kengkit 于 22-8-2005 11:11 AM 发表
请问firebird有什么缺点吗? 若多过10user会有什么问题吗?如何backup 和 retrieve back database呢?
firebird 没有 autonumber field, 需要用 triggers 和 generator 来取代。
generator 不能 rollback
要注意
Apostrophe (') 是特殊字元,要小心使用
field name 是全大写
有免费的工具可以 backup 及 restore
十几个 users 不会有没什么问题
(当然不要全部都用 select * from BIGTABLE 任何 database 都会受不了。。。)
[ 本帖最后由 flashang 于 22-8-2005 09:50 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 22-8-2005 10:14 PM
|
显示全部楼层
> firebird 没有 autonumber field, 需要用 triggers 和 generator 来取代。
如果懒惰,可以用Database Workbench (www.upscene.com) 来自动生成autonumber的trigger代码。
注:顶楼已更新,加入.net provider连接和中文Wiki |
|
|
|
|
|
|
|
楼主 |
发表于 22-8-2005 10:23 PM
|
显示全部楼层
1)请问你是用vb.net + firebird这个组合吗?我打算开发一个简单的application by this group, 有什么建议吗?
VB.Net或C#皆可。建议使用下载GUI工具,如Database Workbench (www.upscene.com) ,免得被吓跑。
2)Firebird有Client/Server和Embedded两种操作方式。
请问classic 是不是就是Embedded,super server就是Client/Server
不对。
3)如果我打算用embedded这个操作模式,应该download那一个才正确呢?
因我看到很多links如:
I) Official Windows Setup and Installer For Classic and SuperServer
II) SuperServer and Classic for Windows
III) Embedded Server for Windows
第III的就是embedded,解压即可使用。请详读压缩挡内的使用方法。
最好也同时安装Client/Server,因为有些GUI(如Database Workbench)的默认连接是使用Client/Server。
4) 最后请问你有vb.net link with firebird的sample code 吗?
暂没
若仍有疑问,欢迎再交流。
[ 本帖最后由 fxam 于 22-8-2005 10:27 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 23-8-2005 01:44 AM
|
显示全部楼层
[quote]
4) 最后请问你有vb.net link with firebird的sample code 吗?
[/quite]
你也可以用 firebird 的 odbc 配合 vb 使用,vb + odbc 的 sample code 应该不难找。 |
|
|
|
|
|
|
|
楼主 |
发表于 23-8-2005 09:58 PM
|
显示全部楼层
Client/Server连接
假设我们有两架电脑S1和C1。S1是server,C1则是client。
1. 我们先在S1安装Firebird Server。安装程式会安装一个service,你可以选择自动或手动启动它,启动后Task Manager的Processes里会有一个fbserver.exe。
2. 在C1安装Firebird Client,安装程式会将安装fbclient.dll和其它文件。如果你觉得需要,也可以将这个dll和你的exe放在一起。
3. 在C1安装Firebird .NET Provider。
4. 在C#的Project里加入.NET Provider的Reference。
5. 假设资料库在S1的c:\data\mydb.fdb里,我们就可以如此设定连接(注:新安装的Firebird的管理员和密码是sysdba和masterkey) :
- FbConnection c = new FbConnection(@"ServerType=0;User=SYSDBA;" +
- "Password=masterkey;Dialect=3;Database=S1:c:\data\mydb.fdb");
复制代码
另一种接法是使用alias,我们先在S1的aliases.conf文件加入这一行:
之后client就可以这样设定连接:
- FbConnection c = new FbConnection(@"ServerType=0;User=SYSDBA;" +
- "Password=masterkey;Dialect=3;Database=S1:mydb");
复制代码
6.之后的情形就和SQL Server差不多一样了,详细可参考Firebird .NET Provider的帮助文件。
Embedded连接
在Embedded的模式里,最低要求只是一个fbembed.dll的文件(最好加上firebird.msg)。fbembed.dll即是server和client的混合体,只需将这个文件和程式的exe放在一起即可使用,例如c:\project1\bin\debug里。连接字串:
- FbConnection c = new FbConnection(@"ServerType=1;User=SYSDBA;" +
- "Password=masterkey;Dialect=3;Database=c:\data\mydb.fdb");
复制代码
注意ServerType=1,这种情况下.NET Provider就会找fbembed.dll,而非fbclient.dll。
另外要注意的是:
-Embedded只能连接本地电脑
-fbembed.dll是以exclusive方式连接资料库的。意即你的程式在用着某资料库时,其它程式就不能动该资料库,反之亦然。如果觉得麻烦,可以先用client/server方式编写程式,时机成熟时才换用embeded。
> 3)Database Workbench ( can do backup and restore right?)
可以。Server版也自带gbak指令程式做备份。
> 如果想把资料库和软件捆绑在一起, FireBirds 是很好的选择,对吧?
看需要而定,Firebird的好处是麻雀虽小但五脏俱全。
> 就直接setup 我写好的.net application 就可运行了吧
embedded确是如此,直接拷贝到电脑也可以用了。就算是server,其安装文件也很小而已。
> 会容易被人盗取资料库吗?like access... copy and paste
会。除非自己将资料加密,让盗取更麻烦。或者是用client/server方式,前提是server自己也要保护好
[ 本帖最后由 fxam 于 23-8-2005 10:06 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 24-8-2005 10:33 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 24-8-2005 11:05 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 25-8-2005 06:36 AM
|
显示全部楼层
> 你们有这个问题吗? 还是我可以去别处download?
对,有点怪怪,你再试试看吧。
> 试试看用 IBExpert 吧,免费,功能也足够。
但免费只供个人版和教育版 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|