Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Resources for building database *server* interface

by iburrell (Chaplain)
on Nov 12, 2004 at 18:07 UTC ( [id://407459] : note . print w/replies, xml ) Need Help??


in reply to Resources for building database *server* interface

Check out DBD::Proxy and DBI::ProxyServer included with DBI. It is a pure Perl implementation of a proxy for DBI. I think it only works with a single database at a time. But the proxy can connect to different databases.

If you want to have a single connection be multiplexed to multiple databases, then you are going to need something like DBD::AnyData. You will have to parse the SQL statement and produce a query plan. And then using schemas for the databases, figure out which data comes from where, and craft queries to retrieve it. And then put all the data together. DBD::AnyData can use DBI sources, but I don't know if it can use them for dynamic queries.

Replies are listed 'Best First'.
Re^2: Resources for building database *server* interface
by etcshadow (Priest) on Nov 12, 2004 at 20:27 UTC
    Um... I think you misunderstand me. DBD's are used by perl code, to access external (or internal, or whatever) databases. I am trying to build the opposite. I am trying to build something that allows external database clients to connect to a perl-based data-store.

    It's true that DBI::ProxyServer is such a server (in a sense), but it only speaks one end of a database protocol that is spoken by DBD::Proxy at the other end. Hence, I still wouldn't be able to get a generic database client speaking (for example) ODBC to talk into a DBI::ProxyServer.

    ------------ :Wq Not an editor command: Wq