我正在寻找支持sql限制和事务的DBI(或类似)代理.我所知道的两个是:
> DBD :: Proxy
> DBD :: Gofer
DBD ::代理
我在DBD :: Proxy中发现的问题是它的服务器DBI :: ProxyServer不仅限制通过网络(我想要的)进入的查询,而且还限制数据库驱动程序在内部生成的查询.因此,例如,使用DBD :: Oracle,ping不再起作用,以及它自己发出的许多其他查询.
我不能只允许他们,因为:
>这是DBD :: Oracle的相当多的内部知识,并且非常脆弱.
>白名单是query_name => ‘sql’,其中query_name是传递给prepare的任何内容的第一个单词. DBD :: Oracle有很多内部查询,其中许多的第一个单词是select(duh).
所以,似乎我不能使用DBD :: Proxy
DBD :: GOFER
我没有尝试过DBD :: Gofer,因为文档似乎告诉我我不能通过它来使用事务:
CONSTRAINTS
…
You can’t use transactions
AutoCommit only. Transactions aren’t supported.