Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как получить описание таблиц и описание колонок из базы данных.


Автор: Shovkoviy 2.11.2007, 06:08
Есть код:
Код

            String[] supportedTableTypes = new String[2];
            int l=0;
            supportedTableTypes[l++] = "TABLE";
            supportedTableTypes[l++] = "VIEW";
            
            DatabaseMetaData metaData = conn.getMetaData();
            ResultSet rs = metaData.getTables(null, null, "%", supportedTableTypes);

            while(rs.next()) {
                String sCatalog = rs.getString(1);
                String sSchema = rs.getString(2);
                String sName = rs.getString(3);
                String sType = rs.getString(4);
                String sDescription = rs.getString(5);
            }

Вот только sDescription всегда будет равно null, потому что для получения данных используется sp_tables где 
(REMARKS - SQL Server does not return a value for this column.)
Подскажите, пожалуйста, как получить description для каждой таблицы и description для каждой колонки?

Автор: _Y_ 2.11.2007, 16:49
Вообще-то это вопрос по SQL а не по Java.

Я делал примерно так:
В SQL есть команда describe create table tableName; или что-то вроде того (в синтаксисе могу напутать - сейчас нет под рукой базы - проверить не могу). База отдает строку с командой создания таблицы. Эта команда парсится и из нее извлекается все, что нужно знать про таблицу.

Автор: LSD 2.11.2007, 18:24
Если драйвер не возвращает эти данные, то только делая запрос к словарю БД.

Добавлено через 31 секунду
А вообще попробуй другой драйвер (я так понял, что речь идет о MS SQL Server).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)