役に立ちましたか?

解決

こののpython-固有の答えではありません。 Pythonのデータドライバは、この種のものを持っている場合、実際には私は知りません。しかし、おそらくこの情報が役立ちます。

ANSI SQL-92およびSQL-99標準は、情報を記憶する INFORMATION_SCHEMAスキーマを、必要カタログ内のテーブルについて。

あなたが求めてメタデータは、そのスキーマ内のビューのクエリで取得することができます。

たとえばます:

select column_name, is_nullable, data_type, character_maximum_length as maxlen 
from information_schema.columns 
where table_name = 'Products'

すべてのデータベースは、標準の一部を実装していません。 Oracleは、例えば、しません。

幸い、情報のようなものを格納するデータベース固有のテーブルもあります。

Microsoft SQL ServerがINFORMATION_SCHEMAの事をサポートしていますが、

、より多くのメタデータ情報を与えるSQL Server固有のテーブルもあります。これらは[CatalogName].dbo.sysobjects[CatalogName].dbo.sysolumnsです。これらのテーブルに同様のクエリは、あなたが求めてメタデータを提供します。例:

select * from [CatalogName].dbo.syscolumns 
where id = 
    (Select id from [CatalogName].dbo.sysobjects where name = 'Products')

Oracleでは、ALL_TAB_COLUMNSテーブルはあなたの情報を与えることができます:

select column_name, data_type, data_length, data_precision, data_scale
from ALL_TAB_COLUMNS
where table_name = 'EMP';

あなたが標準ビューまたはDB固有のビューを照会するかどうか、あなたは、これらのクエリを実行するためにODBCは必要ありません - あなたはもちろんのセキュリティ承認の対象と運用データ、のために利用可能なものは何でもDB接続を使用することができます。

他のヒント

もしあなた、あなたがpyodbcを使用することができ、データアクセスのためのODBCを使用して喜んで、ます。http: //code.google.com/p/pyodbc/wiki/Features を。 Pyodbcは、JDBCのgetTables関数と等価である、あなたはSQLTablesのような関数を呼び出すことができます。メタデータを取得するためのJDBCおよびODBCの機能は非常に似ています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top