Which DBD::Oracle Version is for Me?
Jul 24, 2008 / By John Scoles
1, 2, 3, 4, 5, 6, 9, or 10. It ain’t no Feist song, but she got it right. Notice that she mentions no 7 or 8 in it. Well, that is also true for version support in release 1.21 of DBD::Oracle.
With some of the new functionality that was introduced in DBD::Oracle 1.21, you can no longer use the Oracle 7 and most early 8 clients to build DBD::Oracle.
I hope this little table will help you choose which version of DBD::Oracle is right for you.
|DBD::Oracle Version||<8||8.0.3 – 8.0.6||8iR1 – R2||8iR3||9i – 11g|
|0.1 – 16||Y||Y||Y||Y||Y|
As there are dozens and dozens of different versions of Oracle’s clients, I did not bother to list any of them, just the major release versions of Oracle that are out there.
Note that one can still connect to any Oracle version with the older DBD::Oracle versions. The only problem you will have is that some of the newer OCI and Oracle features available in later DBD::Oracle releases will not be available to you.
So to make a short story a little longer:
- If you are using Oracle 7 or early 8, get a 9 client and you can use any DBD::Oracle version.
- If you have to use an Oracle 7 client, then DBD::Oracle 1.17 should work.
- Same thing for 8 up to R2, use 1.17, if you are lucky and have the right patch-set you might go with 1.18.
- For 8iR3, you can use any of the DBD::Oracle versions up to 1.21. Again, this depends on your patch-set. If you run into trouble, go with 1.19.
- After 9, you can use any version you want.
- For you Luddites out there, ORAPERL still works and is still included but not updated anymore.
- You will notice I have 1.22 listed, which is the next version of DBD::Oracle where support for Oracle 8 clients has been dropped. Sorry for this–it was just getting too hard to maintain, especially with many new functions being introduced in 10g and 11g.
- It seems that the 10g client can only connect to 9 and 11 DBs, while the 9 can go back to 7 and even get to 10. I am not sure what the 11g client can connect to.