用什么样的桌面数据库最好?

光明山人 2006-01-19 10:05:52
请各位大虾提供高见——使用什么样的桌面数据库及访问函数库最好?桌面数据库即不需要运行数据库服务器,通过函数库或组件库访问,要求函数库或组件库是开源的。

另外,使用ACCESS数据库格式是否侵权?具体地说,使用微软/Windows提供的API(ADO/OLE DB/ODBC)开发程序,在程序中创建和操作Access数据库,并将程序分发到最终用户,但最终用户并没有安装Access应用程序,这会侵犯版权吗?

谢谢!
...全文
1522 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
光明山人 2006-02-02
  • 打赏
  • 举报
回复
谢谢各位。

foxyy8888: 谢谢你的详细回复,不过感觉embedded firebird带的东西还是太多了。
pazee: 我此前的概念。刚刚Google了一下“桌面型数据库”,中文搜索结果没有找到定义,但枚举的全是文件型。搜索“what is a desktop database”时也是同样意思:http://www.netlib.com/file-encryption-faq.shtml#Q04 。

有人告诉我,在有的Windows上是不带Access的ODBC/OLEDB的驱动的,需要安装Office,因此另找了一个完全开源的桌面/文件数据库项目:SQLite,有兴趣的朋友请看 www.sqlite.org ,它的好处是非常小,如果用DLL的话只需200来K,如果是静态链接估计更小。
耙子 2006-01-27
  • 打赏
  • 举报
回复
桌面数据库即不需要运行数据库服务器
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这个定义谁下的?按照你的意思应该是文件型数据库,常用的也就是access和paradox了。
OO_is_just_P 2006-01-27
  • 打赏
  • 举报
回复
以下引自(破宝/percyboy)的Blog,原文地址如下:
http://blog.joycode.com/percyboy/archive/2005/04/18/49228.aspx

Embedded Firebird DB 简介
最近在学习 Firebird Embeded Database。作为一款单文件型小型数据库,Firebird 具有很多吸引人的特征,比如支持事务、支持存储过程、触发器等,而且 Embeded 版本的 Firebird 在 .NET 开发中只需要拷贝两个文件:一个 fbembed.dll (非托管但不需要注册的动态链接库)和一个 ADO.NET Data Provider 的 FirebirdSql.Data.Firebird.dll。这些特征都非常适合那些需要在客户端存储一些数据,但又不想安装数据库(比如MSDE)软件的情形。

据称,在国外,需要使用客户端数据库的情况中,有30%左右的开发者选择Access,有30%的开发者选择MSDE 2000,有30%的开发者选择Embedded Firebird,剩余10%选择其他小型数据库,如SQLite,MySQL 等。

上面所说的Access,MSDE 2000,Embedded Firebird,SQLite等都是可以免费再分发(free redistributable)的数据库。相比而言,MSDE 2000 显著缺点是需要安装,最大优点是和服务器端的 SQL Server 编程模型一致,开发便利。Access的显著缺点是功能较少,不支持事务等常用功能,最大优点是简单、多数开发者都很熟悉,部署也很方便。SQLite支持事务,也是一款单文件数据库,比较不足的是 .NET Data Provider 还不是很成熟。Firebird则同时具有:单文件、部署简单不需安装(只需 XCOPY 两个文件)、支持事务、存储过程、触发器,.NET Data Provider比较稳定成熟等优点。

Firebird 本身有SuperServer和Embedded版本之分,后者只能本机访问,不接受TCP连接。对于开发者而言,从Embedded数据库切换到SuperServer,只需更改数据库连接串中的ServerType值就行。

但是,在你正式决定使用?Firebird 之前,请你注意下面这个 known issue(已知问题): Firebird 数据库文件不能放置在含有中文等字符的路径中。Firebird 的文件名不可以用中文字符,所在路径的任何部分如果含有中文字符,都将无法访问到数据库。举个例子,中文Windows桌面所在的目录一般是“C:\Documents and Settings\用户名\桌面”,如果数据库文件放置在桌面上,就无法访问到。当然,Firebird 内部是可以存储中文字符的,因为它支持 GB2312 和 UNICODE 等字符集。

我已向 Firebird 开发者报告了这个 BUG,希望能早日解决这个 BUG。

需要注意一点,连接串中的 Database 地址如果使用相对路径,请一定注意这个相对路径是相对于 fbembed.dll 所在目录的。
OO_is_just_P 2006-01-27
  • 打赏
  • 举报
回复
FirBird分服务器版和嵌入版,详情请看我的帖子:
http://community.csdn.net/Expert/topic/4489/4489366.xml?temp=.5773737
pangxie 2006-01-20
  • 打赏
  • 举报
回复
BDE也可以
zhangl_cn 2006-01-20
  • 打赏
  • 举报
回复
并将程序分发到最终用户,但最终用户并没有安装Access应用程序,这会侵犯版权吗?

/////////////////////////////////

不会侵权!
光明山人 2006-01-19
  • 打赏
  • 举报
回复
谢谢各位!

另外,我希望除了我的程序不再分发其它的东西。MSDE是不是需要另外安装?
子陌红尘 2006-01-19
  • 打赏
  • 举报
回复
如果要使用Access好象必须购买OFFICE,而用MSDE 2000是免费的。
5201314 2006-01-19
  • 打赏
  • 举报
回复
access吧
Randomize 2006-01-19
  • 打赏
  • 举报
回复
據說freebird不錯
pcfans007 2006-01-19
  • 打赏
  • 举报
回复
果然是沙发
pcfans007 2006-01-19
  • 打赏
  • 举报
回复
access,分发简单,坏处是数据库文件易损坏,
zhangl_cn 2006-01-19
  • 打赏
  • 举报
回复
Access
光明山人 2006-01-19
  • 打赏
  • 举报
回复
foxyy8888: firebird不是桌面数据库,它是C/S的,需要运行服务器。
OO_is_just_P 2006-01-19
  • 打赏
  • 举报
回复
我也正在考虑这个问题.
觉得firebird不错.

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧