DBI/DBD 比较迷惑

DBI/DBD 比较迷惑

DBI/DBD 比较迷惑
CPAN 里面:
DBD::SQLite - Self Contained RDBMS in a DBI Driver

我看到一些应用都是Class::DBI::SQLite 就可以了
一般都是use DBI

DBI/DBD 是什么关系呢?
DBD::SQLite 需要装吗?
Class::DBI::SQLite is an extension to Class::DBI for DBD::SQLite. It allows you to populate an auto-incremented row id after insert.

2者关系这样的话,怎么用啊?
中文说明没找到,按照英文说明我怕自己理解错。
CDBI
DBI is ODBC DBD::* is driver
Class::DBI + DBD::SQLite + auto_inc = Class::DBI::SQLite
DBI和ODBC是同一概念
都是一个共用的接口模块,而DBD则是连接具体数据库的模块。
所以一般的模式都是:DBI+DBD::相应的数据库名字。
不过也有很多其他直接连接数据库的模块,象ODBC.pm等,
一句话说来就是Perl的强大多样反使得了入门难了点,不过
弄清后就会喜欢上这种自由的模式了。
对于操作数据库来说,一般.
对于操作数据库来说,一般你使用use DBI,或者使用use Class::DBI就可以了。
他下面就是DBD::*的模块了,具体的驱动就是靠他了。
总之,DBI提供了访问数据库的通用接口,屏蔽了不同数据库接口之间的差异,好比一个抽象的接口层。
所以PERL写的DBI程序可以很方便的在不同的数据库之间迁移。
class::dbi的话,则是更加抽象的一个层了,他将数据库的操作抽象成对对象的一种操作了。
谢谢各位--DBD::SQLite .
谢谢各位
DBD::SQLite 看来一般来说不用安装,
Class::DBI::SQLite 安装这个就可以了


你好像还没有搞明白。--.
你好像还没有搞明白。
cpan 安装 Class::DBI::SQLite 的时候会一并装 DBD::SQLite 的。 Class::DBI 只是个界面。 DBD::* 数据库的驱动是必须的。比如你要使用 mysql 就要有 DBD::mysql