代码之家  ›  专栏  ›  技术社区  ›  derobert

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

  •  5
  • derobert  · 技术社区  · 17 年前

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

    • DBD::Proxy
    • DBD::Gofer

    DBD::代理

    我发现的问题 DBD::代理 是它的服务器, DBI::ProxyServer ,不仅限制了通过网络传入的查询(我想要),还限制了生成的查询 内部 通过数据库驱动程序。例如,与 DBD::Oracle ,ping不再有效,以及它自己发出的许多其他查询。

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

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

    所以,我似乎用不上 DBD::代理

    DBD::Gofer

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

    约束

    ...

    您不能使用交易

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

    因此,在我编写自己的特定于应用程序的代理之前(使用 RPC::PLServer ?),有没有解决这个问题的代码?

    1 回复  |  直到 17 年前
        1
  •  0
  •   Jonathan Leffler    17 年前

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

    我不知道你对DBD::Proxy限制查询的意思是什么。在我唯一一次使用它时,它根本没有修改查询。

    推荐文章