powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить список таблиц и базы данных
15 сообщений из 15, страница 1 из 1
Как получить список таблиц и базы данных
    #33190328
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно но в DatabaseMetaData метод getTables пачиму то возвращает не String[] таблиц а этот страшный объект ResultSet из которого потом непонятно как выковырять названия таблиц

и да исчо кто нить сюда загляните тоже

http://www.sql.ru/forum/actualthread.aspx?tid=203138
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190347
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В FM глядел? :)


Retrieves a description of the tables available in the given catalog. Only table descriptions matching the catalog, schema, table name and type criteria are returned. They are ordered by TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.

Each table description has the following columns:
TABLE_CAT String => table catalog (may be null)
TABLE_SCHEM String => table schema (may be null)
TABLE_NAME String => table name
TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
REMARKS String => explanatory comment on the table
TYPE_CAT String => the types catalog (may be null)
TYPE_SCHEM String => the types schema (may be null)
TYPE_NAME String => type name (may be null)
SELF_REFERENCING_COL_NAME String => name of the designated "identifier" column of a typed table (may be null)
REF_GENERATION String => specifies how values in SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null)

Note: Some databases may not return information for all tables.

Parameters:
catalog - a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
schemaPattern - a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
tableNamePattern - a table name pattern; must match the table name as it is stored in the database
types - a list of table types to include; null returns all types
Returns:
ResultSet - each row is a table description
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190361
Tomaso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
show tables;
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190664
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что такое FM или RTFM ?
несколько раз на этом форуме встретил упоминание о FM где его взять и с чем его есть ?


насчет show tables пробовал только не получилось какая то синтаксическая ошибка sql к тому это запрос долго идти будет
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190675
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
llemingа что такое RTFM ?
RTFM
А FM, радио, наверное :) Типа 102,3 FM.
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190679
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm это очень интересно только непонятно
TABLE_CAT String => table catalog (may be null)
есть такое в DatabaseMetaData.getCatalog() у меня вернул null
только что это за каталог ежели база данных это файл gdb а не сборище каталогов и кстати возвращает опять таки не каталог например \db\bbb.gbd а ResultSet а объект ResultSet и каталог разные вещи мне кажется

и кстати почти во всей java.sql такая вот ботва в методах

получи.ТО-ТО

а возвращаемый тип

Софсем.НЕ_ТО

что ожидалось

и кстати я посморел про эти методы и сразу возникает вопрос как все таки получить список таблиц в базе данных которая есть файл бббб.gdb потому как у тима написано жирными буквами

Each table description has the following columns:

что на русском как описание любой таблицы имеет следующие колонки(уже возникают вопросы зачем для описания исользовать колонны это же данные удобно в виде колонок представлять а описание таблицы и просто можно перечислить что за колонки да какого типа)

мне нужно что то вроде структура любой базы данных имеет следующие параметры

Each DB stucture has the following parametres

ну и там методы что б нормальные были типа getCatalog и возвращал он каталог
getTables и возвращал список таблиц а не байды не понятной
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190749
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Я:

забавно но есть один момент часто этот грубанный мануал пишет человек который хорошо знаешь про то что на что он пишет мануал и опускает часто детали кажущиеся ему очень очевидными только вот пачиму то тому кто потом читает эти их манулы все не кажется очевидными

ИДЕЯ НЕПЛОХО БЫ НАПИСАТЬ МАНУАЛ ДЛЯ ТЕХ КТО ПИШЕТ ТАКИЕ МАНУАЛЫ

и придумать что нить вроде rtfm с приставкой какой нить
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190820
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
2 iteming:
Мануалы бывают разные, бывают хорошие, бывают плохие.
Ты спросил,что такое RTFM, я ответил.
Просто обычно задают вопросы, даже не посмотрев в этот самый мануал. Поэтому такой ответ встречается довольно часто.
Другое дело, когда человек посмотрел и не понял, и сформулировал вопрос, уже с сылкой на ту доку, которую он не понял, с просьбой пояснить.

Кстати уважаю людей, которые не только напишут RTFM, но еще и дадут ссылку на него.

P.S. Можно тебя попросить расставлять запятые, порой очень сложно понять правильно то, что написано, приходится несколько раз перечитывать.
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33190963
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я

про запятые это точно это мой грех :)
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33191308
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 import  java.sql.*;

 public   class  testGetTables {	
	 public   static   void  main(String[] args)  throws  Exception {
		 Class .forName("oracle.jdbc.driver.OracleDriver");
		Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:test", "tim", "t");
		DatabaseMetaData dbmd = conn.getMetaData();
		ResultSet rs = dbmd.getTables( null ,  null ,  null ,  null );
		 while  (rs.next()) {
			System.out.println(rs.getString( 3 ));
		}
		conn.close();
	}
};
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33191482
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm
Во первых БОЛЬШОЕ СПАСИБО
я так и попробовал (вот мой вариант не цикла while потому как я экспериментировал System.out.println(metaData.getSomeTHings()) только так и не добился вывода названия таблицы

try{

Class.forName("org.firebirdsql.jdbc.FBDriver");
conn=DriverManager.getConnection("jdbc:firebirdsql:192.168.0.10/3050:c:/telco/gdb/bbbb.gdb",login,password);
loginFailed=false;
metaData=conn.getMetaData();
rs=metaData.getTables(null,null,null,null);
rs.next();
System.out.println(rs.getString(10));
}
catch(Exception e){
System.out.println(e);
loginFailed=true;

я не смог понять только что подставить rs.getString(?) вместо вопроса
вот пачиму rs.getString(3) int columnIndex=3 равно 3 вот это интересно и как заранеее узнать какое int туда ставить . В АПИ сказано что это типа мол номер столбца (а вот какого столбца не сказано и откуда вообще у базы данных столбцы , столбцы у таблицы понятно, а у БД не совсем понятно)
и ваще я тут поэкспериментировал ежели int columnIndex=0,1,2,..... то на консоль выходит соовтветственно:(экспериментировал со своим вариантом кода)
при 0 java.lang.ArrayIndexOutOfBoundsException: -1 и обрывается соединение
при 1 null
при 2 null
при 3 "DBVERSION" КАК ИНТЕРЕСНО ВЫВОДИТ ДЕЙСТВИТЕЛЬНО НАЗВАНИЕ ТАБЛИЦЫ(первая таблица в базе)
при 4 "TABLE" - И ЧТО БЫ ЭТО ЗНАЧИЛО
при 5 null
при 6 SYSDBA
при 7 org.firebirdsql.jdbc.FBSQLException: Invalid column index.
при 8 обрыв соединения

ежели не спросил бы на форуме никогда бы этого не узнал. В АПИ об этом ничего не написано. Где об этом написано ?
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33191517
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может все-таки проще оперировать именами полей:
Код: plaintext
1.
2.
3.
rs.getString("TABLE_CAT");
rs.getString("TABLE_SCHEM");
rs.getString("TABLE_NAME");

и так далее ?
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33191535
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кхм.
ноу комментс :)
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33191565
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming getMetaData возвращает таблицу с метаданными о бд и работать с получившимся резалт сетом надо как с любым другим
...
Рейтинг: 0 / 0
Как получить список таблиц и базы данных
    #33191952
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ха смешно а написано это в

в DatabaseMetaData

но все равно всем спасибо

ну и завернули они сановцы все сложно как то, не почеловечески сложно с наскоку не понял

а rs.getString("TABLE_NAME"); действительно прощее
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить список таблиц и базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]