问题标签 [dbi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
2211 浏览

perl - 我应该使用哪个 Perl 数据库接口?

CPAN DBI是在 Perl 中用于一般数据库的最佳数据库接口吗?有没有更好的选择?

0 投票
3 回答
542 浏览

perl - 为什么回滚方法不能用于 DBI 句柄?

出于某种原因,我在使用 DBI 句柄时遇到了麻烦。基本上发生的事情是我在 perl 模块中创建了一个特殊的连接函数并从执行以下操作切换:

然后我做

现在由于某种原因,我不断收到错误消息:

无法通过 ../Foo.pm 第 171 行的包“Foo”找到对象方法“回滚”。

所以奇怪的是 $dbh 绝对不是 Foo,它只是在 foo 中定义的。无论如何,到目前为止,我还没有遇到任何麻烦。有什么想法吗?

编辑:@Axeman:connect原版中不存在。在我们刚刚使用这样的字符串之前:

connect像这样的东西

0 投票
1 回答
268 浏览

sql - DBI 的 column_info 与引用标识符上的 pgAdmin

我的 Postgres 数据库中有一个表,其中包含名为“type”、“desc”和“start”的列。当我调用时$dbh->column_info,只有“desc”被引用,而在 pgAdmin 中,它们三个都被引用。其中一个是错的吗?

0 投票
2 回答
2975 浏览

perl - 如何使用 Perl 的 DBI 将日期值从 Oracle 转换为 Excel?

我遇到了一个非常简单的 Perl 进程的问题。我基本上是在查询一个 Oracle 数据库,我想将它加载到 Excel 中。我已经能够使用 DBIx::Dump 并且它有效。但是,我需要能够使用各种 Excel 格式化工具。而且我认为Spreadsheet::WriteExcel是输出到 Excel 的最佳模块,它允许我进行更多格式化。

下面是代码和我得到的错误。我基本上是查询 Oracle,获取数据,加载到数组中并尝试写入 Excel。出于某种原因,它正在进行某种比较并且它不喜欢数据类型。例如,日期是“25-OCT-08”。SVP 是“S01”。似乎是在说它们不是数字。

错误:

代码:

0 投票
9 回答
13919 浏览

perl - 如何检查数据库查询是否会返回结果?

我们的网站使用 Perl 为我们的人力资源人员提供一个简单的机制来将职位空缺发布到我们的网站。它是由第三方开发的,但他们早就开始接触了,遗憾的是我们内部没有任何 Perl 技能。当营销人员绕过他们的内部 IT 团队时,就会发生这种情况!

我需要对此应用程序进行简单的更改。目前,职位空缺页面显示“我们目前有以下职位空缺:”,无论是否有职位空缺!所以我们想改变它,使这条线只在适当的时候显示。

显然,我可以开始学习一点 Perl,但我们已经在计划一个替代站点,而且它肯定不会使用 Perl。因此,由于解决方案对于具有这些技能的人来说是微不足道的,我想我会寻求一些有针对性的帮助。

以下是列出职位空缺的程序的开始。

关键线是while (my $ref = $sth->fetchrow_hashref()) {。我想这是在说'虽然我可以从返回的记录集中拉出另一个空缺......'。如果我将打印语句放在这一行之前,它将始终显示;在这条线之后,每个空缺都会重复。

我如何确定有一些空缺要显示,而不会过早地通过返回的记录集?

我总是可以在 while 循环中复制代码,并将其放在 if() 语句中(在 while 循环之前),该语句也将包括我的 print 语句。但我更喜欢使用更简单的方法If any records then print "We currently have.." line。不幸的是,即使是这条简单的代码,我也不知道如何编写代码。

看,我告诉过你这是一个微不足道的问题,即使考虑到我笨拙的解释!

TIA

克里斯

0 投票
5 回答
7308 浏览

mysql - 如何从 Perl MySQL DBI 句柄中获取数据库名称?

我已经使用 Perl DBI 连接到 MySQL 数据库。我想知道我连接到哪个数据库。

我不认为我可以使用:

因为我调用USE new_database并且$dbh->{Name}只报告我最初连接的数据库。

有什么技巧还是我需要跟踪数据库名称?

0 投票
2 回答
324 浏览

database - Parrot 有数据库接口或 API 吗?

通过快速搜索,我得到了2004 年 1 月的 Parrot DBDI 公告和一个似乎早已死去的dbdi-dev 邮件列表。Parrot DBDI 还在开发中吗?有人在为 Parrot 开发不同的数据库 API 或接口吗?

0 投票
4 回答
821 浏览

perl - 如何在 Perl 的哈希引用中引用标量?

简单的问题:

我如何在一行上做到这一点:

我已经尝试过 \$bar->{baz}、\${$bar->{baz}} 和许多其他的。这甚至可能吗?

-fREW

更新:好的,hashref 来自 DBI,我将标量 ref 传递到模板工具包中。我想现在我更仔细地观察这个问题与 TT 如何完成所有这些有关。实际上我想说:

但是 TT 不是这样工作的,TT 需要一个标量 ref 并将数据放在那里,所以我必须这样做:

无论如何,感谢您的帮助。我至少只有一个参考而不是两个。

0 投票
1 回答
264 浏览

perl - 如何将 DBD::Proxy 与 DBIx::Class 一起使用?

我需要通过防火墙获得数据库连接,并限制可以运行的查询。DBD::Proxy 似乎是解决这个问题的完美解决方案。但是,我目前正在使用 DBIx::Class,并且不知道如何将它们连接在一起。

特别是 DBD::Proxy 不使用 SQL;它需要特定的命名查询。但是 DBIx::Class 似乎没有办法调用这些命名查询。

这是在基于 Catalyst 的 web 应用程序中。

0 投票
1 回答
322 浏览

perl - 是否有处理 SQL 限制和事务的 DBI 代理?

我正在寻找一个同时支持 SQL 限制和事务的 DBI(或类似)代理。我知道的两个是:

  • DBD::Proxy
  • DBD::Gofer

DBD::代理

我发现的问题DBD::Proxy是它的服务器,DBI::ProxyServer不仅限制通过网络进入的查询(我想要的),而且还限制了数据库驱动程序内部生成的查询。因此,例如, with DBD::Oracle、 ping 以及它自己发出的许多其他查询不再起作用。

我不能只允许他们,因为:

  • 那是相当多的 DBD::Oracle 内部知识,而且非常脆弱。
  • 白名单是query_name => 'sql'query_name传递给的第一个词在哪里prepare。DBD::Oracle 有很多内部查询,其中很多的第一个词是select(duh)。

所以,我似乎无法使用DBD::Proxy

DBD::Gofer

我没有尝试过 DBD::Gofer,因为文档似乎告诉我我不能通过它使用事务:

约束

...

您不能使用交易

仅自动提交。不支持交易。

那么,在我编写自己的应用程序特定代理(使用RPC::PLServer?)之前,是否有代码可以解决这个问题?