问题标签 [dbd-proxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 如何将 DBD::Proxy 与 DBIx::Class 一起使用?
我需要通过防火墙获得数据库连接,并限制可以运行的查询。DBD::Proxy 似乎是解决这个问题的完美解决方案。但是,我目前正在使用 DBIx::Class,并且不知道如何将它们连接在一起。
特别是 DBD::Proxy 不使用 SQL;它需要特定的命名查询。但是 DBIx::Class 似乎没有办法调用这些命名查询。
这是在基于 Catalyst 的 web 应用程序中。
perl - 是否有处理 SQL 限制和事务的 DBI 代理?
我正在寻找一个同时支持 SQL 限制和事务的 DBI(或类似)代理。我知道的两个是:
DBD::Proxy
DBD::Gofer
DBD::代理
我发现的问题DBD::Proxy
是它的服务器,DBI::ProxyServer
不仅限制通过网络进入的查询(我想要的),而且还限制了数据库驱动程序内部生成的查询。因此,例如, with DBD::Oracle
、 ping 以及它自己发出的许多其他查询不再起作用。
我不能只允许他们,因为:
- 那是相当多的 DBD::Oracle 内部知识,而且非常脆弱。
- 白名单是
query_name => 'sql'
,query_name
传递给的第一个词在哪里prepare
。DBD::Oracle 有很多内部查询,其中很多的第一个词是select
(duh)。
所以,我似乎无法使用DBD::Proxy
DBD::Gofer
我没有尝试过 DBD::Gofer,因为文档似乎告诉我我不能通过它使用事务:
约束
...
您不能使用交易
仅自动提交。不支持交易。
那么,在我编写自己的应用程序特定代理(使用RPC::PLServer
?)之前,是否有代码可以解决这个问题?