我将使用Perl的DBD:SQLite模块写入MySQLite数据库文件,我想知道是否可以通过MySQL的任何发行版读取此文件?有没有更好的方法来创建一个简单的MySQL数据库(使用Perl)?
如果它意味着什么,我将只使用数据库来存储基于键的唯一ID号的键值对。我尝试过BerkeleyDB,但在Perl上几乎没有它的支持,过去在某些版本的Windows上我无法正常工作。
编辑:我知道BerkeleyDB是一种更好的方法,但是当我为它编写脚本时,大多数方法都有TODO,而且我在Windows Server 2003上使用相同的气密代码时遇到了神秘的错误在我家的Win7机器上连续运行了2周。
答案 0 :(得分:5)
MySQL和SQLite是完全独立的RDBMS系统。 MySQLite没有这样的东西。据我所知,MySQL无法读取SQLite数据库。
如果你真正想要的只是一个键值存储,也许看看Redis:http://code.google.com/p/redis/
答案 1 :(得分:2)
Perl很好地支持BerkeleyDB。您可以选择较旧的DB_File和功能更全面的BerkeleyDB模块。
但是有很多选择。如果您不想运行单独的服务器进程,请使用DBI和DBD :: SQLite或BerkeleyDB或任何AnyDBM_File模块。对于一个简单的基于服务器的键值存储,有redis或较旧的memcached。
答案 2 :(得分:2)
我使用Perl的DBI module,我可以使用MySQL或SQLite来读取数据库。您只需要正确的驱动程序。实际上,如果正确编写程序,后端数据库(SQLite或MySql)就无关紧要了。您的程序将与任何一个一起使用。
但是,您不能使用SQLite数据库,然后将其视为MySQL数据库。他们是两种不同的生物。您的程序可以与数据库无关,但是一旦选择了数据库,就无法来回切换。这就像打开Oracle数据库作为MySQL数据库一样。
有关详细信息,请参阅This posting on Perl Monks。