Oh drat - not the DBI connection string discussion again!

On 7/4/05, Darren Duncan <[EMAIL PROTECTED]> wrote:

> 5. All details used to construct a connection handle should be
> completely decomposed rather than shoved into an ungainly "data
> source". Examples of what should be distinct (not all being
> applicable at once) are: 1. the DBI driver module to use; 2. the
> internet server IP address or domain name and port; 3. the locally
> defined server device socket; 4. the locally defined service (eg,
> ODBC or SQL*Net) name; 5. the file system file name; 6. the file
> system directory name; 7. some other detail if any for fully in-RAM
> databases; 8. the authorization identifier / user name; 9. the
> password; 10. some other authorization credential, or channel
> encryption details, or whatever else; 11. what kind of database or
> what database product is being used, if known. If the DBI driver
> talks to a client-configurable DBI proxy server, then, it should be
> possible to nest a set of the above settings (eg, as a hash-ref) as
> one part of the main settings given to the proxy client.
> 

Only 1, 8 and 9 (driver name, user ID, password) apply to Informix databases 
- and you've missed out the other bit that applies - the database name, and 
optionally database server name hosting it (either 'dbase' or '[EMAIL 
PROTECTED]'). 
These are not the same as 2, 3, 4, 5, 6, 7, 10, or 11, and I can't think how 
any of them (except perhaps 10) could be applied to an IDS connection.

Oh, and if you're going to enhance the connection, please ensure you cover 
challenge-response protocols (where you send an initial username/password 
and the authentication server comes back with a question such as "what is 
the number on your RSA key fob at the moment", and the hapless user has to 
type that information in, and the connection management code has to deal 
with this - callbacks and the like.

So, as was discussed emphatically and exhaustively (in January 2005 in 
dbi-dev under 'Proposing an API for the extension for simplifying database 
connections'), this is not readily going to fly with the existing DBMS - 
specifically, not with IDS. Closed-source DBMS are *not* necessarily going 
to adapt to meet the needs of Perl and DBI. You can argue that's their loss 
- you may even be right. But you'll be limiting the acceptability of Perl + 
DBI in some respects. You'll also be annoying the hell out of me if you 
can't define a connection string that will work with Informix (I'm not too 
worried about the challenge-response stuff, though Informix can handle 
that).

Oh - and DBI v2 should have support for scrollable cursors.

-- 
Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
Guardian of DBD::Informix - v2005.01 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."

Reply via email to