![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Jr. Member
![]() Registriert seit: 22.12.2001
Alter: 43
Beiträge: 65
|
![]() Hallo!
Ich bin grad dabei meine Java-Kenntnisse aufzufrischen und wollte dazu kurz das Beispiel TableExample.jar welches beim jdk1.3.1 dabei ist ausprobieren. Ich hab dazu MySql und den dazugehörigen JDBC-Treiber (http://www.mysql.com/Downloads/Contr...bc-1.2c.tar.gz bzw. http://www.mysql.com/Downloads/Contr...-2.0.4-bin.jar) installiert. Dann einfach den Treiber (ver 1.2c) in /usr/local/jdk1.3.1/lib entpackt und das neu entstandene Verzeichnis /usr/local/jdk1.3.1/lib/mm-mysql-jdbc-1.2c zum CLASSPATH hinzugefügt (wie in der README angegeben) CLASSPATH=/usr/local/jdk1.3.1/lib/mm-mysql-jdbc-1.2c export CLASSPATH In dem VZ befindet sich dann folgende Struktur: org/gjt/mm/mysql/Driver.class (und weitere) Trotzdem kommt dann beim Start des Programms obige ClassNofFoundException. Das selbe Bsp unter Win mit der neueren Version des Treibers führt zum selben Ergebnis. Muss CLASSPATH noch weitere Pfande standardmäßig enthalten oder genügt die Treiberklasse? Bitte helft mir Tschüss! |
![]() |
![]() |
![]() |
#2 |
Veteran
Registriert seit: 15.08.2001
Alter: 50
Beiträge: 235
|
![]() kopier das jar-archiv mm.mysql-xxx-bin.jar einfach nach [java_home]/jre/lib/ext/
du brauchst den driver ja nicht beim kompilieren, sondern den braucht die jre. deswegen bindest du ihn ja auch mit Class.forName() ein. |
![]() |
![]() |
![]() |
#3 |
Jr. Member
![]() Registriert seit: 22.12.2001
Alter: 43
Beiträge: 65
|
![]() Ok, dass hat geklappt, doch ganz hauts immer noch net hin.
Jetzt sag er : java.sql.SQLException: Server configuration denies access to data source. OK Dazu sagt das Manual zum JDBC-Treiber: GRANT ALL PRIVILEGES ON test.* to 'user' @ 'host' identified by 'password'; Hab ich gemacht, hilft aber nichts. Die URL zur DB lautet jdbc:mysql://localhost:3306/test |
![]() |
![]() |
![]() |
#4 |
Veteran
Registriert seit: 15.08.2001
Alter: 50
Beiträge: 235
|
![]() was sagt denn SQLException.getSQLState()?
|
![]() |
![]() |
![]() |
#5 |
Jr. Member
![]() Registriert seit: 22.12.2001
Alter: 43
Beiträge: 65
|
![]() Wie gesagt es handelt sich hierbei um das Beispiel-Programm welches beim JDK dabei ist.
Ich hab jetzt allerdings das mit getSQLState hinzugefügt und jetzt sagt er 08001. Kannst du damit was anfangen? Der Fehler liegt meiner Meinung daran, das ich nicht die Berechtigung hab über TCP/IP auf die MySQL-DB zuzugreifen, lokal gehts ja über UNIX-Sockets und das haut hin. Abhilfe sollte laut README vom JDBC-Treiber das GRANT ALL PRIVILEGES schaffen, was ich oben schon beschrieben hab. Kennt sich jemand mit MySQL aus und weiss wie ich das konfigurieren muss damit ich über JDBC zugreifen kann?? Danke! |
![]() |
![]() |
![]() |
#6 |
Veteran
Registriert seit: 15.08.2001
Alter: 50
Beiträge: 235
|
![]() versuch mal folgendes:
GRANT ALL PRIVILEGES ON test.* to user@localhost identified by 'password'; wobei ich einen anderen usernamen als user verwenden würde. ob du dann zugriff auf die mysql-db hast, kannst ja dann leicht mit dem mysql-client testen: mysql -u username -p wenn das funktioniert, solltest du eigentlich eine verbindung mittels jdbc herstellen können. |
![]() |
![]() |
![]() |
#7 |
Jr. Member
![]() Registriert seit: 22.12.2001
Alter: 43
Beiträge: 65
|
![]() Ich habs geschafft, endlich.
Das Problem lag an der Rechtevergabe von MySql. Ich hab zwar zuvor schon GRANT ALL ... gemacht, das Problem lag aber anscheinend an @localhost. MySQL überprüft nähmlich welcher user von welchem host zugreift und sagt dann darf oder darf nicht. Ich hab jetzt localhost durch '%' ersetzt wodurch ich jetzt von allen Hosts aus zugreifen kann. (obwohl ich eh immer am lokalen rechner sitz gings vorher nicht) Das mit ALL PRIVILEGES ist natürlich eine Sicherheitslücke, ich werd mich da noch genauer mit den Permissions von MySQL auseinandersetzen, ist aber auch nicht so tragisch, da ich eh nur am lokalen rechner arbeite. Danke für die Hilfe! Tschüss! ![]() |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|