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

der*_*ert 5 security perl proxy dbi dbd-proxy

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

  • DBD::Proxy
  • DBD::Gofer

DBD ::代理

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

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

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

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

DBD :: GOFER

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

约束

...

您不能使用交易

仅限AutoCommit.不支持交易.

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

Jon*_*ler 0

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

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