develooper Front page | perl.dbi.users | Postings from November 2018

Generic way of fetching a list of databases

Thread Next
From:
Daniel Kasak
Date:
November 16, 2018 02:09
Subject:
Generic way of fetching a list of databases
Message ID:
CAF73Y=Srt_TXrvqpv7VuwfdUKCvWc_S3fEm0A1vd+aycAbWBQw@mail.gmail.com
Hi all.

I have a project that has to support pretty much every major database
around, plus a number of more esoteric "big data" platforms as well. Until
now, I've had a bunch of methods, implementing fetching databases, schemas,
tables, etc, per database, with database-specific queries ( eg against
information_schema ).

Some of the newer databases I'm trying to support have very little
documentation, and in some cases no apparent way of fetching in the schema
via SQL. I've had a conversation with one of the tech support people for a
DB product who said that there were generic ODBC functions we can call for
this kind of thing. Is this the case?

I've done quite a bit of search, but can't find any docs that mention
fetching *databases* - either in ODBC docs or in Perl/DBI docs. The closest
I've found that *might* have worked was DBI's tables() method:
 https://metacpan.org/pod/DBI#tables
  ... but:

- this doesn't work in cases where there is a separation between
hierarchies at the database level ( eg postgres only lists schemas and
tables in the current database )
- this isn't returning *anything* for me with any of the ODBC drivers I've
tried

So is it possible to retrieve a list of databases in a generic way? Failing
that, assuming that there *is* some ODBC call ( as suggested by one DB
vendor ) that I can use, is there some way of calling it from Perl with
DBD::ODBC?

Thanks :)

Dan

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About