To communicate with a database, you have to have a client that speaks that database's language. The various DBD:: modules communicate with those clients. The model looks something like:
Perl code <-> DBI <-> DBD:: <-> Database client <-> Database
In other words, if they want to connect to database XYZ, they have to have the client for XYZ installed and the appropriate DBD::. Then, you have to support XYZ's connection string.
Those connection strings do differ between databases, as do the files necessary to support them. For example, DBD::Sybase (which is used to connect from Unix to SQL Server) can use freetds, which uses a file called freetds.conf. However, DBD::Oracle uses an oracle client which requires (usually) a file called tns.ora. It's not as simple as installing the right DBD:: module.
In other words ... either you have to control the database choices on your server or you have to provide a mechanism for people who install your stuff to be able to connect to their DB of choice. Good luck! :-)
------ We are the carpenters and bricklayers of the Information Age. Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement. Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified. |