文件数据库有哪些?性能和稳定性的评价如何?最好能有实例说明.一定要能够任意移动数据库文件位置,比如从Linux下移动Windows下或从C:移动到D:首先感谢张琎的回答,但我查看了相关的资料,也发
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 02:45:15
![文件数据库有哪些?性能和稳定性的评价如何?最好能有实例说明.一定要能够任意移动数据库文件位置,比如从Linux下移动Windows下或从C:移动到D:首先感谢张琎的回答,但我查看了相关的资料,也发](/uploads/image/z/5533617-57-7.jpg?t=%E6%96%87%E4%BB%B6%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9C%89%E5%93%AA%E4%BA%9B%3F%E6%80%A7%E8%83%BD%E5%92%8C%E7%A8%B3%E5%AE%9A%E6%80%A7%E7%9A%84%E8%AF%84%E4%BB%B7%E5%A6%82%E4%BD%95%3F%E6%9C%80%E5%A5%BD%E8%83%BD%E6%9C%89%E5%AE%9E%E4%BE%8B%E8%AF%B4%E6%98%8E.%E4%B8%80%E5%AE%9A%E8%A6%81%E8%83%BD%E5%A4%9F%E4%BB%BB%E6%84%8F%E7%A7%BB%E5%8A%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E6%96%87%E4%BB%B6%E4%BD%8D%E7%BD%AE%2C%E6%AF%94%E5%A6%82%E4%BB%8ELinux%E4%B8%8B%E7%A7%BB%E5%8A%A8Windows%E4%B8%8B%E6%88%96%E4%BB%8EC%3A%E7%A7%BB%E5%8A%A8%E5%88%B0D%3A%E9%A6%96%E5%85%88%E6%84%9F%E8%B0%A2%E5%BC%A0%E7%90%8E%E7%9A%84%E5%9B%9E%E7%AD%94%2C%E4%BD%86%E6%88%91%E6%9F%A5%E7%9C%8B%E4%BA%86%E7%9B%B8%E5%85%B3%E7%9A%84%E8%B5%84%E6%96%99%2C%E4%B9%9F%E5%8F%91)
文件数据库有哪些?性能和稳定性的评价如何?最好能有实例说明.一定要能够任意移动数据库文件位置,比如从Linux下移动Windows下或从C:移动到D:首先感谢张琎的回答,但我查看了相关的资料,也发
文件数据库有哪些?性能和稳定性的评价如何?最好能有实例说明.
一定要能够任意移动数据库文件位置,比如从Linux下移动Windows下或从C:移动到D:
首先感谢张琎的回答,但我查看了相关的资料,也发现你的某些内容是不正确的.
你说SQLite不支持JDBC、ODBC,好像不是这样的,以下文字节选自维基百科
SQLite also has bindings for a large number of programming languages,including BASIC,C,C++,Common Lisp,Java,C#,Delphi,Curl,Lua,Tcl,R,PHP,Perl,Ruby,Objective-C (on Mac OS X),Python,newLisp and Smalltalk.There is also a COM (ActiveX) wrapper making SQLite accessible on Windows to scripted languages such as Javascript and VBScript.This adds database capabilities to HTML Applications (HTA).[3]
文件数据库有哪些?性能和稳定性的评价如何?最好能有实例说明.一定要能够任意移动数据库文件位置,比如从Linux下移动Windows下或从C:移动到D:首先感谢张琎的回答,但我查看了相关的资料,也发
文件数据库
文件数据库又叫嵌入式数据库,将整个数据库的内容保存在单个索引文件中,以便于数据库的发布.
文件数据库的3个重要特征(相对于传统数据库)
1. 数据操作接口
SQL92标准,不管是传统数据库,还是文件数据库,都必须支持SQL92标准.
2. 数据保存格式
传统数据库(DB2,Oracle,SQL server等)数据保存的方式各异.
文件数据库将数据保存在单一文件中.
3. API支持
传统数据库都支持ODBC和JDBC.
某些文件数据库不支持ODBC和JDBC(sqlite都不支持,Berkeley DB有ODBC和JDBC支持,Firdbird有第三方的ODBC驱动).
文件数据库与传统数据库的比较
优势:由于数据保存在单一文件中,数据库的部署和发布都比较简单,适用于内嵌在应用程序中.
数据量不是太大时,速度比传统数据库要快.
缺点:由于数据保存在单一文件中,数据库打开时,该文件会被整个load到内存,应此数据库不能过大(100M以内,个人测试).
各种文件数据库的比较
Sqlite:老牌的文件数据库,完全免费 ( public domain ),使用方便,无须任何配置,下载源代码编译成库或者直接编译到应用程序都可以(250K,C代码).支持事务机制和blob数据类型.http://www.sqlite.org/
Berkerley DB:更老牌的文件数据库,最稳定的数据库,完全可以取代大部分传统client/server数据库的应用场合;支持xml(代价是30M硬盘空间).缺点是配置和使用比较复杂,不太适合小项目.
Firbird:与sqlite比较类似,有C#支持.某些发布版本不能build,很久没有关注了.
Access:一般不考虑
Sqlite简单介绍
个人比较喜欢sqlite,使用最方便,唯一的准备工作是下载250K的源;而且作者很热心,有问必答.
以下演示一下使用sqlite的步骤,先创建一个数据库,然后查询其中的内容.2个重要结构体和5个主要函数:
sqlite3 *pdb,数据库句柄,跟文件句柄FILE很类似
sqlite3_stmt *stmt,这个相当于ODBC的Command对象,用于保存编译好的SQL语句
sqlite3_open(),打开数据库
sqlite3_exec(),执行非查询的sql语句
sqlite3_prepare(),准备sql语句,执行select语句或者要使用parameter bind时,用这个函数(封装了sqlite3_exec).
Sqlite3_step(),在调用sqlite3_prepare后,使用这个函数在记录集中移动.
Sqlite3_close(),关闭数据库文件
还有一系列的函数,用于从记录集字段中获取数据,如
sqlite3_column_text(),取text类型的数据.
sqlite3_column_blob(),取blob类型的数据
sqlite3_column_int(),取int类型的数据
…