当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [perl问题]怎么样安装数据库驱动?
帖子发表于 : 2011-04-13 22:44 

注册: 2006-02-12 19:29
帖子: 512
送出感谢: 1
接收感谢: 0 次
因为想学着写一个小型的数据库,所以需要这个。数据库系统选择sqlite。查询了相关资料后,系统提示我没有数据库驱动。于是查找之。找了很多的相关文章,但都是教你怎么下载,怎么编译,但是我知道perl是提供了一个在线安装的工具的,不知道这个该怎么弄。小弟我对于编译一道完全是两眼黑。
另外,还想问一下如何用perl访问berkery db。我是按照oreilly的《programming perl dbi》上的例程来的(其实这个也能部分的满足我的需求)。在例程上提示可以使用tie来绑定一个berkery db文件到一个散列,这样可以通过操作散列直接操作数据库文件(当然这东西很低层)。结果在执行例程的时候提示:Can't locate object method "TIEHASH" via package "record.dat" at time.pl line 6.

请各位大侠指点一二了。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [perl问题]怎么样安装数据库驱动?
帖子发表于 : 2011-04-14 9:28 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
sqlite只是操作sql语法。数据库是独立文件。
代码:
@items=`sqlite3 $f1 "select * from ind;"`;


berkeley的?使用tie容易出错的。
代码:
use BerkeleyDB;

http://forum.ubuntu.org.cn:8000/viewtop ... 0&t=315287
我是操作evolution的通讯录时,使用这个,但是evolution-data-server啥的,太容易死掉了。不明原因。后来就放弃了。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [perl问题]怎么样安装数据库驱动?
帖子发表于 : 2011-04-14 18:13 

注册: 2006-02-12 19:29
帖子: 512
送出感谢: 1
接收感谢: 0 次
先谢谢楼上的热心帮助。其实我只是想安装一个数据库驱动,也就是一个模块,并不是很难的问题。当然,你的解说也让我额外的弄明白了别的知识。另外,查资料发现BerkeleyDB是一个独立的模块,而DB_File是另一个独立的模块。后者是安装的时候会自己带的。只是我搞错了语法,所以调用的时候出错。 :em06
对于楼上说的使用tie会不稳定的问题,我不是很了解。但根据从PerlDocs上查到的资料,我发现这二个模块是不同的。像DB_File仅提供很底层的功能,而BerkeleyDB模块其实还提供SQL语言的接口。换言之,即BerkeleyDB模块其实是作为DBI模块的一个驱动来发生作用的。而二者都提供tie函数。
我觉得既然历来的操作系统都带DB_File模块,那么它必然是相当的稳定的,而且像是系统的一些软件的验证(例如vsftpd就支持使用BerkeleyDB来做验证)也用它,所以它的稳定性应该是值得信赖的。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [perl问题]怎么样安装数据库驱动?
帖子发表于 : 2011-04-14 18:58 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
不稳定,是指evolution-data-server导致的。 :em06


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [perl问题]怎么样安装数据库驱动?
帖子发表于 : 2011-06-16 7:47 

注册: 2006-02-12 19:29
帖子: 512
送出感谢: 1
接收感谢: 0 次
安装驱动已经搞定了。但是有一点要注意,最好是从源里安装驱动。即按照驱动的名字来搜索,而最好不是使用cpan来安装数据库驱动。这是血的教训啊。毕竟软件发展快,系统带的模块都很容易“过时”。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译