快速搜索给了我 Parrot DBDI的公告从2004年1月起, dbdi-dev邮件列表这似乎已经很久了。 Parrot DBDI还在开发吗?是否有人在为Parrot工作不同的数据库API或接口?

有帮助吗?

解决方案

DBDI努力创建像当前DBI和DBD模块一样的数据库驱动程序接口。它已经死了,所以开发人员现在使用的是现有的接口--Java JDBI。两个这样的开发人员是Tim Bunce(曾参与过DBI 1,但没有太多时间研究续集)和Simon Cozens:

http:/ /perlbuzz.com/2008/12/database-access-in-perl-6-is-coming-along-nicely.html

use DBDI;
my $conn = DBDI::DriverManager.getConnection(
    "dbdi:SQLite3:test.db", "", "");
my $stm = $conn.createStatement();
my $rs = $stm.executeUpdate("CREATE TABLE foo (bar, baz)");
my $stm = $conn.prepareStatement(
    "    INSERT INTO foo (bar, baz) VALUES (?, ?)");
$stm.setColumn(1, 123);
$stm.setColumn(2, "Thingy");
$stm.executeUpdate();

此模块应该适用于所有Parrot语言,而不仅仅是Perl 6。


实际上对于Perl 6,我们可能会看到一个SQL引用操作符,所以你可以这样做:

$conn.prepareStatement( Q:sql<INSERT INTO foo (bar, baz) VALUES($bar, $baz)> );

当然,在Perl 6中,引用修饰符如Q:sql可以缩写,例如到qs <!> lt; <!> gt;或者sql <!> lt; <!> gt;

其他提示

来自 DBI :: Roadmap 1.607 手册,注明日期2004年11月:

  

大部分工作将是   翻译DBI C和Perl基础   将代码编入Parrot PIR,或者a   适合生成PIR的语言。   由于Parrot没有,该项目停滞不前   当时拥有关键功能。   这已经解决了,但项目   还没有重新启动。

发布 Darren Duncan于2005年5月:

  

我相信它会再次启动   很快。看,一些主要的   缺少先决条件现在即将到来   在线,以及那些我们在那里   可以开始工作了。

我找不到比这更新的东西了。鹦鹉本身在其进步中是冰冷的,所以也许与Parrot平台保持兼容,DBDI也是如此。 : - )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top