5

我正在寻找一个同时支持 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?)之前,是否有代码可以解决这个问题?

4

1 回答 1

0

这个问题最好在 DBI 用户邮件列表中提出,dbi-users@perl.org. 在http://dbi.perl.org/上注册

我不确定您对 DBD::Proxy 限制查询的意思。在我使用它的唯一场合,它根本没有修改查询。

于 2009-03-05T00:12:00.373 回答