Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Java+MySQL - czemu to nie działa?

5 views
Skip to first unread message

CD

unread,
May 2, 2006, 10:19:02 PM5/2/06
to
Pytanie pewnie lamerskie, dopiero zamierzam się nauczyć baz danych. Nie wiem w
czym jest błąd. Korzystając z tutoriala ściągnąłem i zainstalowałem MySQL'a oraz
sterownik JDBC. Niestety, program wysypuje się już przy próbie łączenia z bazą
danych:

String url = "jdbc:mysql://localhost:3306/Program Files/MySQL/MySQL Server
5.0";
try {
Connection con = DriverManager.getConnection(url,"root", "");
} catch (SQLException e) {
System.err.println("Polaczenie nieudane!");
e.printStackTrace();
}

na konsoli wyszło:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)

Zaznaczam że uruchomiłem serwer MySQL poleceniem:
mysqld --console

port 3306 się zgadza, więc nie wiem co może być źle. Pewnie coś w URL'u źle, ale
co? Serwer zainstalowałem w C:\Program Files\MySQL\MySQL Server 5.0.

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

CD

unread,
May 2, 2006, 10:35:57 PM5/2/06
to
Ehhh, właśnie się zorientowałem, że w tym wszystkim w ogóle nie używam klas z
com.mysql.jdbc, tylko java.sql. Nawet nie wiem jak użyć tamtych sterowników
trzymając się jednocześnie tutoriala. No bo to:

Connection con = DriverManager.getConnection(url,"root", "");
działa jedynie dla klas z java.sql. W com.mysql.jdbc jest klasa Connection, ale
nie ma DriveMenager. Ehh, nie wiem o co chodzi, mam nadzieję że ktoś pomoże.

Mikołaj Bartnicki

unread,
May 3, 2006, 2:19:11 AM5/3/06
to
CD wrote:
> Niestety, program wysypuje się już przy próbie łączenia z bazą
> danych:
>
> String url = "jdbc:mysql://localhost:3306/Program Files/MySQL/MySQL Server
> 5.0";

Błąd w url-u. musisz podać nazwę bazy danych na swoim serwerze mysql z
którą chcesz się połączyć a nie ścieżkę lokalną do binariów serwera
MySQL :-). O na przykład tak:

String url = "jdbc:mysql://localhost:3306/mojabaza";

Serwer MySQL w Windows NT i nowszych działa sobie jako usługa i
localhost:3306 (o ile 3306 jest portem na którym serwer mysql oczekuje
połączeń) już definiuje lokalizację serwera (jako usługi).

--
Mikołaj Bartnicki

Marcin Zdunek

unread,
May 3, 2006, 4:13:25 AM5/3/06
to
CD wrote:

> Ehhh, właśnie się zorientowałem, że w tym wszystkim w ogóle nie używam
> klas z com.mysql.jdbc, tylko java.sql. Nawet nie wiem jak użyć tamtych
> sterowników trzymając się jednocześnie tutoriala. No bo to:
> Connection con = DriverManager.getConnection(url,"root", "");
> działa jedynie dla klas z java.sql. W com.mysql.jdbc jest klasa
> Connection, ale nie ma DriveMenager. Ehh, nie wiem o co chodzi, mam
> nadzieję że ktoś pomoże.

Zmień tutorial na:
http://java.sun.com/docs/books/tutorial/jdbc/basics/connecting.html

Jak będziesz robił program to musisz zamienić :
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
na com.mysql.jdbc ( czy jak ten sterownik się nazywa ) i dopilnować aby
MySql-owy jar był na ścieszcze.

Powodzenia

Marcin

0 new messages