J'utilise perl DBI . Je sais que $ dbase-> tables () code> 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? P>
3 Réponses :
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 };
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;
J'ai écrit un script en fonction de cette idée hier, mais dbi :: odbc code> ne prend pas en charge
table_info code>, et j'ai besoin d'accéder à un
*. MDB code> .
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/...
Utilisation de ODBC sur une base de données Oracle, je devais utiliser cette variante sur l'oncle Arnie's Réponse: sinon, $ schemas code> serait indéfini lors de la tentative d'utilisation
selectcol_arrayref ($ qc, ...) code>. p> p>