SQLの制限とトランザクションの両方をサポートするDBI(または同様の)プロキシを探しています。私が知っている2つは次のとおりです。
DBD::Proxy
DBD::Gofer
DBD ::Proxy
私が見つけた問題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を試していません。これは、ドキュメントからDBD::Goferを介してトランザクションを使用できないと言われているためです。
制約
..。
取引はご利用いただけません
AutoCommitのみ。トランザクションはサポートされていません。
それで、(?を使用して)独自のアプリケーション固有のプロキシを作成する前に、RPC::PLServer
この問題を解決するコードはありますか?