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

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

http://www.sql.ru/forum/actualthread.aspx?tid=203138
...
Рейтинг: 0 / 0
28.07.2005, 19:17
    #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
28.07.2005, 19:37
    #33190361
Tomaso
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить список таблиц и базы данных
show tables;
...
Рейтинг: 0 / 0
29.07.2005, 08:53
    #33190664
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить список таблиц и базы данных
а что такое FM или RTFM ?
несколько раз на этом форуме встретил упоминание о FM где его взять и с чем его есть ?


насчет show tables пробовал только не получилось какая то синтаксическая ошибка sql к тому это запрос долго идти будет
...
Рейтинг: 0 / 0
29.07.2005, 09:05
    #33190675
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить список таблиц и базы данных
llemingа что такое RTFM ?
RTFM
А FM, радио, наверное :) Типа 102,3 FM.
...
Рейтинг: 0 / 0
29.07.2005, 09:11
    #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
29.07.2005, 09:44
    #33190749
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить список таблиц и базы данных
Для Я:

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

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

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

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

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

про запятые это точно это мой грех :)
...
Рейтинг: 0 / 0
29.07.2005, 12:03
    #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
29.07.2005, 12:56
    #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
29.07.2005, 13:08
    #33191517
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить список таблиц и базы данных
Может все-таки проще оперировать именами полей:
Код: plaintext
1.
2.
3.
rs.getString("TABLE_CAT");
rs.getString("TABLE_SCHEM");
rs.getString("TABLE_NAME");

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

в DatabaseMetaData

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

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

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


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