Модераторы: LSD, AntonSaburov
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> show databases, Как получить список бд? 
V
    Опции темы
Gugle
Дата 29.1.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток!
Как в java получить список хранимых баз данных при установке соединения с mySQL?
Пример конекта:
Код

        try {
            java.sql.Statement stmt;
            java.sql.ResultSet rs = null;
            java.sql.Connection connection = null;
            
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
            
             connection = java.sql.DriverManager.getConnection("jdbc:mysql://192.168.0.65:3306/", login, pas);
             
             // Соединение установленно, но как получить список бд содержащихся в mySQL?
             // Мне надо получить список, который выводится при команде SHOW DATABASES в Shell.

        } catch (java.sql.SQLException e) { 
            e.printStackTrace(); 
        }

PM MAIL   Вверх
hamsterKSU
Дата 29.1.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

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



помоему как-то  через MetaData 
PM MAIL ICQ   Вверх
Gugle
Дата 29.1.2008, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не могу найти там подходящий метод там.
PM MAIL   Вверх
VSergeyV
Дата 29.1.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

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



Цитата(hamsterKSU @  29.1.2008,  11:34 Найти цитируемый пост)
помоему как-то  через MetaData 

Можно "через SQL" - т.е. выполнить соответсвующий запрос и получить ResultSet, к примеру для MySQL это "show databases", либо запросом к системной таблице
Должно и через MetaData  как то быть
PM MAIL ICQ   Вверх
Ulysses4j
Дата 29.1.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 6.6.2007
Где: Ростов-на-Дону

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



Я не специалист по БД, но насколько я понимаю, если бы получить инфу о имеющихся базах было просто, это была бы дырка в безопасности. Теперь конкретно: "show databases" это же не SQL, это команда шелла mysql.exe, по JDBC такое вряд ли передашь. DriverManager.getConnection() позволяет подключаться к конкретной безе, и вся метаинформация, которая может быть из этого извлечена будет касаться этой конкретной базы. Зато можно получить информацию из конкретной базы — поможет системная база, в которой такие вещи, как список БД на сервере, должны храниться (и могут быть извелечены обычным SQL). Это единственный выход на мой взгляд. Но для поключения к системной базе нужен root.


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
Gugle
Дата 29.1.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Точно. спс
PM MAIL   Вверх
Kangaroo
Дата 29.1.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

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



Gugle, 
ты только поделись, пожалуйста, вариантом, который заработал.



--------------------
Lost....
PM MAIL MSN   Вверх
Gugle
Дата 29.1.2008, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код


try {
            java.sql.Statement stmt;
            java.sql.ResultSet rs = null;
            java.sql.Connection connection = null;
            
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
            
             connection = java.sql.DriverManager.getConnection("jdbc:mysql://ip:port/", login, pas);
             stmt = connection.createStatement();
             rs = stmt.executeQuery("show databases");
             java.sql.ResultSetMetaData meta = rs.getMetaData();
             while (rs.next()) {
                  for (int i = 1; i <= meta.getColumnCount(); i++)  {
                      System.out.println(rs.getObject(i));
                 }
             }
        } catch (java.sql.SQLException e) { 
            e.printStackTrace(); 
        }

PM MAIL   Вверх
Anul
Дата 5.2.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Pomogite please  nayti svyaz' JDBC s  SQL Express 2005, i kak delat' loud !  

PM MAIL   Вверх
Kangaroo
Дата 5.2.2008, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

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



Цитата(Anul @  5.2.2008,  15:01 Найти цитируемый пост)
Pomogite please  nayti svyaz' JDBC s  SQL Express 2005, i kak delat' loud !  

1) Создайте новую тему с этим вопросом, тогда объясним.
2) Используйте транслит (слева внизу чекбокс)
3) Что такое delat' loud?


--------------------
Lost....
PM MAIL MSN   Вверх
Anul
  Дата 6.2.2008, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну мне надо 
 Установление соединения 
 мне надо взаимодействовать с базой данных. Используя JDBC для отправки  SQL Express 2005 код в базе данных, и обрабатывать результаты, которые возвращаются. И все это делать в eclipse.
Мне надо установить JDBC на моей рабочей машины, я незнаю... мне нужно jar файли или ...
 У меня есть jtds.jar что мне надо делать с ним ?
 
 
PM MAIL   Вверх
LSD
Дата 6.2.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Anul, скачай отсюда драйвер и почитай эти статьи и наш FAQ там рассказывается как соединяться с БД.

Если будут проблемы создай новую тему где и опиши их.


--------------------
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   Вверх
Anul
Дата 8.2.2008, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Zdrastvujte !! smile Ya sdelal kak skazal LSD i u menya takaya problema pomogite please !!  
package java_databases.ch04;
import java.sql.*;

public class jdbcDemo {
public static void main(String args[]){
    int qty;
    float cost;
    String name;
    String desc;
    
    String query="SELect Name,Description, Qty, Cost FROM Stock";
    try {
        Class.forName("sun.jdbc.odbc.jdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:inventory");
    Statement stmt=con.createStatement();
    ResultSet rs=stmt.executeQuery(query);
    while(rs.next()){
        name=rs.getString("Name");
        desc=rs.getString("Description");
        qty=rs.getInt("Qyt");
        cost=rs.getFloat("Cost");
        System.out.println(name+","+desc+"\t:"+qty+"\t@$"+cost);
    }
    con.close();
    }
    catch(ClassNotFoundException e){
        e.printStackTrace();
    }
    catch(SQLException e){
        e.printStackTrace();
    }
}

}
__________
и ответ такой
java.lang.ClassNotFoundException: sun.jdbc.odbc.jdbcOdbcDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at java_databases.ch04.jdbcDemo.main(jdbcDemo.java:13)

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


Leprechaun Software Developer
****


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

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



Anul, я же просил создать новую тему если будут еще вопросы, неужели это так трудно сделать?

Модератор: тема закрыта.


--------------------
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   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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