Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java -> JDBC -> ODBC -> Access. Запрос не возвраща 
:(
    Опции темы
Shovkoviy
Дата 7.11.2007, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.11.2007

Репутация: нет
Всего: нет



Здравствуйте.

Приложение работает с базой MS Access. ( Java -> JDBC -> ODBC -> MS Access )
Необходимо получить описание таблиц и полей базы Access.
Есть код:
Код

String[] supportedTableTypes = new String[2];
int l=0;
supportedTableTypes[l++] = "TABLE";
supportedTableTypes[l++] = "VIEW";
try 
{            
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");            
      Connection con = DriverManager.getConnection("jdbc:odbc:test");
      DatabaseMetaData meta = con.getMetaData();            
      ResultSet rs = meta.getTables(null, null, "%", supportedTableTypes);    
      while (rs.next())
      {                
          String tCatalog = rs.getString(1);       // TABLE_CAT
          String tSchema = rs.getString(2);        // TABLE_SCHEM
          String tName = rs.getString(3);          // TABLE_NAME
          String tType = rs.getString(4);          // TABLE_TYPE
          String tDescription = rs.getString(5);   // REMARKS      
     }

catch (Exception e) {...}

Переменная tDescription - не возвращает описание таблицы она всегда = NULL.
Этот способ не подходит.

Подскажите, пожалуйста, каким другим способом можно достать описание таблиц и описание колонок?
PM MAIL   Вверх
Shovkoviy
Дата 7.11.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.11.2007

Репутация: нет
Всего: нет



Подскажите в какой системной таблице MS Access хранятся: описания таблиц и колонок?
PM MAIL   Вверх
Akina
Дата 7.11.2007, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Описания таблиц хранятся в таблице MSysObjects.
Описания структуры таблиц в таблицах не хранятся.

Указанную информацию получают не прямым обращением к объектам БД, а парсингом коллекции TableDefs (список таблиц) и объекта TableDef (структура определенной таблицы).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
LSD
Дата 9.11.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: нет
Всего: 538



Ты хочешь сказать, что с помощью только селектов и вызова процедур получить информацию о БД в Access нельзя?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
bopoha
Дата 9.11.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



LSD
Синтаксис sql не полный (в плане DTD) и не содержит SHOW FIELDS. У меня получалось вытянуть информацию из mdb еще при помощи ADO, опять же не запросами.
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 9.11.2007, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(LSD @  9.11.2007,  13:37 Найти цитируемый пост)
Ты хочешь сказать, что с помощью только селектов и вызова процедур получить информацию о БД в Access нельзя?

Список таблиц/запросов - можно. See above. Но не рекомендуется. See там же.
Структуру в основе своей можно получить обработкой результата выборки на клиенте (разобрать структуру рекордсета). Только запросами и процедурами - нельзя.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.