5

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この問題を解決するコードはありますか?

4

1 に答える 1

0

この質問は、DBIユーザーのメーリングリストで最もよく尋ねられますdbi-users@perl.orghttp://dbi.perl.org/でサインアップしてください

DBD::Proxy制限クエリについてどういう意味かわかりません。私がそれを使用した唯一の機会では、それはクエリをまったく変更しませんでした。

于 2009-03-05T00:12:00.373 に答える