On Fri, Mar 22, 2002 at 03:01:17PM -0800, Stephen Keller wrote: > Hello All: > > I wrote: > > > > the version of DBI for a given version of the DBD driver. When > > > these don't match up, the driver doesn't always work correctly. > > Tim asked: > > > Why not, exactly? > > Most of the problems we had were compile failures. Features in the > DBI that weren't present in the DBD::DB2 and vice versa caused the > DBD::DB2 to fail on build. The fix was to down rev the DBI to match > that specified by IBM. It's been awhile (several revisions) since > we've seen these kinds of problems, so IBM may have fixed such > dependency problems. As I said, the maturity and stability of these > tools has been rising steadily (thanks, in a large part, to your > efforts, BTW).
Okay. (And thanks :) > > The number, and maturity, of pure-Perl DBD's is rising. > > Yes that is true. Perhaps, I wasn't clear that I was addressing > systems like DB2 that are still highly dependent on an underlying C > interface. It would be great to have a pure-Perl DBD::DB2, but I > don't expect one out of IBM anytime soon. It might be possible to > reverse engineer such an interface, but I don't think they've made > enough details public to do so easily (or perhaps even legitimately). It would run too slow to use useful. > > I'd rather push the other way... driver authors need to write drivers > > the do-the-right-thing. Specifying particular versions of the DBI > > is a bit of a cop out. > > It is likely that IBM specifies a specific version of the DBI module > because it is the version they tested against and thus the version > they provide DBD::DB2 support against. Sure. In that scenario people can just install the DBI version they want and it'll be used in preference to the one that came with perl (unless @INC is played with). > I've strayed pretty far from the original topic. Let me finish on > this note. Were there a pure-Perl interface to DB2 (ala the DB2 net > drivers that are available for Java), I'd use it. Having to install > client software on the node and then compile DBI and DBD::DB2 on that > machine is annoying. I'd prefer a net-only type of interface that > depended on nothing more than the network-visibility of the desired > database server. If someone is working on this and needs help, I'm > willing to pitch in. DBD::Proxy (and DBI::ProxyServer) may do the job for you (and if not they should be extended/fixed so they do). Tim.
