как запросить (оракул) структуру таблицы базы данных в C # / (ADO?). NET 2.0 - PullRequest
1 голос
/ 05 марта 2010

Я хочу получить метаданные таблицы для всех столбцов таблицы. Как строка типа (varchar2) / int / float / datetime и длина для строк и т. Д.

Ура! -Matti

Ответы [ 2 ]

4 голосов
/ 05 марта 2010

Для всех таблиц, к которым вы можете получить доступ:

select * from all_tab_columns

Для всех таблиц в текущей схеме:

select * from user_tab_columns

Это характерно для Oracle, но есть более общий способ получения информации о схеме: метод DbConnection.GetSchema:

schema_owner = "the_owner"; // or null
table_name = "the_table"; // or null
column_name = "the_column"; // or null
DataTable columns = connection.GetSchema("Columns", new string[] { schema_owner, table_name, column_name });

Результирующая таблица содержит всю доступную информацию столбца, которая соответствует критериям.

Чтобы получить список всех доступных метаданных схемы, вы можете вызвать GetSchema с параметром DbMetaDataCollectionNames.MetaDataCollections.

1 голос
/ 05 марта 2010

Вы можете использовать метод GetSchema класса OracleConnection .

...