6
votes

Comment puis-je obtenir des schemas de DBI de Perl?

J'utilise perl DBI . Je sais que $ dbase-> tables () retournera toutes les tables de la base de données correspondante. De même, je veux connaître les schémas disponibles dans la base de données. Y a-t-il une fonction disponible pour cela?


0 commentaires

3 Réponses :


1
votes

Ceci fonctionne.

Créer une base de données: p>

*** Source: Foo
Column: bar
$VAR1 = {
          'data_type' => 'integer',
          'is_auto_increment' => 1,
          'is_nullable' => 1
        };

Column: quux
$VAR1 = {
          'data_type' => 'varchar',
          'is_nullable' => 1,
          'size' => 30
        };


0 commentaires

11
votes

Ce que vous cherchez est: DBI-> table_info ()

Appelez-le comme ceci: P>

my $sth = $dbh->table_info('', '%', '');
my $schemas = $dbh->selectcol_arrayref($sth, {Columns => [2]});
print "Schemas: ", join ', ', @$schemas;


3 commentaires

J'ai écrit un script en fonction de cette idée hier, mais dbi :: odbc ne prend pas en charge table_info , et j'ai besoin d'accéder à un *. MDB .


PS: Cela le supporte lorsque les deux premiers arguments sont undef!


DBD :: ODBC assiste certainement Table_Info. Vous devez lire la spécification ODBC pour ce que vous devez passer à table_info. Vous avez peut-être aussi besoin de la correction de bugs dans 1.46_1 - voir Search.CPAN.org/~MJEVANS/DBD-ODBC-1.46_2/...



0
votes

Utilisation de ODBC sur une base de données Oracle, je devais utiliser cette variante sur l'oncle Arnie's Réponse: xxx

sinon, $ schemas serait indéfini lors de la tentative d'utilisation selectcol_arrayref ($ qc, ...) .


0 commentaires