佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 16744|回复: 53

推荐 Firebird 资料库

[复制链接]
发表于 19-3-2005 07:39 AM | 显示全部楼层 |阅读模式
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 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 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, 现在又多一个选择了.
回复

使用道具 举报

Follow Us
发表于 22-3-2005 10:27 AM | 显示全部楼层
我知道FIRE BIRD 的存在是因为 FIRE FOX的前名。
还没有用过,有机会一定要试试
回复

使用道具 举报

发表于 22-3-2005 04:01 PM | 显示全部楼层
我现在正在用着它。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 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
回复

使用道具 举报

kengkit 该用户已被删除
发表于 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 应该不难找。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 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) :

  1.   FbConnection c = new FbConnection(@"ServerType=0;User=SYSDBA;" +
  2.          "Password=masterkey;Dialect=3;Database=S1:c:\data\mydb.fdb");
复制代码


另一种接法是使用alias,我们先在S1的aliases.conf文件加入这一行:

  1. mydb=c:\data\mydb.fdb
复制代码

之后client就可以这样设定连接:

  1.   FbConnection c = new FbConnection(@"ServerType=0;User=SYSDBA;" +
  2.          "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里。连接字串:

  1. FbConnection c = new FbConnection(@"ServerType=1;User=SYSDBA;" +
  2.                  "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 编辑 ]
回复

使用道具 举报

kengkit 该用户已被删除
发表于 24-8-2005 10:33 PM | 显示全部楼层
我一直download不到

1)SuperServer and Classic for Windows
2)Embedded Server for Windows
3)ODBC driver
from http://firebird.sourceforge.net/index.php?op=files&id=engine

你们有这个问题吗? 还是我可以去别处download?
回复

使用道具 举报

发表于 24-8-2005 11:05 PM | 显示全部楼层
试试看用 IBExpert 吧,免费,功能也足够。

http://www.ibexpert.com/

[ 本帖最后由 flashang 于 24-8-2005 11:10 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 25-8-2005 06:36 AM | 显示全部楼层
> 你们有这个问题吗? 还是我可以去别处download?
对,有点怪怪,你再试试看吧。

> 试试看用 IBExpert 吧,免费,功能也足够。
但免费只供个人版和教育版
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 17-4-2024 01:43 AM , Processed in 0.070091 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表