# RMI direkte Verbindung mit einer Mysql datenbank



## Manuela (31. Okt 2007)

Hallo
kann man eine DIREKTE Verbindung mit  mir RMI  an eine MySql Datenbank realiesieren ohne 
ein Serverprogramm zu schreiben?
wenn ja wie, ich bin seit fünf Tagen am Verzweifeln.

Beispiel Code wäre super!!!
wer kann mir helfen???

Gruß Manuela


----------



## Guest (31. Okt 2007)

RMI = Remote Method Invocation. Es ist ein Protokoll zur Client/Server-Kommunikation. Klartext: Setzt du RMI ein, 
bedeutet es i.d.R., dass du einen RMI-Server verwendest bzw. zumindest ein NamingService bzw. die RMI-Registry.
MySQL kann mit RMI nichts anfangen. Es ist ein Protokoll, dass nur in Java verfügbar ist. Die Kommunikation mit 
MySQL geht über einen JDBC-Treiber.


----------



## Manuela (31. Okt 2007)

Hallo,
wenn ich das richtig verstehe muß ich ein Serverprogramm schreiben, das auf dem Rechner läuft wo die 
Datenbank sich befindet, und vom Client muß ich die Daten (Hashtable usw.. ) erst dem Server schicken 
und der Server verarbeitet diese dann mittels JDBC und schickt sie dann wieder zurück an den Client.

wie sieht es dann mit Odbc aus ??

gruß Manuela


----------



## maki (31. Okt 2007)

Du solltest besser erklären was dein eigentliches Ziel ist, bevor du nach alternativen fragst.

Ich frag einfach mal, was warum nicht mit JDBC?


----------



## Manuela (31. Okt 2007)

Hallo,
ich habe meine Mysql Datenbank auf einem anderen Rechner und wenn ich das ganze über jdbc treiber mache
und der Port 3306 ist offen und ich kann mittels telnet 192.123.134.1 3306 eine Verbindung zur Datenbank herstellen 
und sehe dann der typ meiner Datenbank.
Und ich kann auch mit dem Mysql Administrator auf die Datenbank zugreifen. bekomme aber mit meinem programm  immer nur eine jdbc.CommunicationsException:
Communications link falure due to underlying exception  ** Begin NESTED EXCEPTION *** java.net.SocketException.


und ich habe auch keine Lösung für dieses Problem gefunden.

Gruß Manuela


----------



## stevieboy (31. Okt 2007)

Manuela hat gesagt.:
			
		

> bekomme aber mit meinem programm  immer nur eine jdbc.CommunicationsException:
> Communications link falure due to underlying exception  ** Begin NESTED EXCEPTION *** java.net.SocketException.
> 
> 
> und ich habe auch keine Lösung für dieses Problem gefunden.



1. Hast Du eventl. eine Softwarefirewall drauf, die eben die ausgehenden Anfragen von java blockt?

2. Der Rest der Exception könnte Aufschluss über das Problem geben.

3. Ich würde die JDBC-Lösung versuchen zum Laufen zu bekommen, weil es imho unnötig ist, einen RMI-Server nur für die MYSQL-Anbindung aufzusetzen.


----------



## maki (31. Okt 2007)

Etwas mehr von der Exception wäre interessant.

Was ist deine Connection URL?

MySQL lässt in der Standard Konfig nicht jeden User von jeder Maschine einloggen.

Welchen User benutzt du um dich anzumelden?


----------



## Guest (31. Okt 2007)

Manuela hat gesagt.:
			
		

> Hallo,
> wenn ich das richtig verstehe muß ich ein Serverprogramm schreiben, das auf dem Rechner läuft wo die
> Datenbank sich befindet, und vom Client muß ich die Daten (Hashtable usw.. ) erst dem Server schicken
> und der Server verarbeitet diese dann mittels JDBC und schickt sie dann wieder zurück an den Client.


So ungefähr, allerdings würde ich mit normalen POJOs arbeiten, statt alles über irgendwelche HasMaps etc. 
zu schreiben.





			
				Manuela hat gesagt.:
			
		

> wie sieht es dann mit Odbc aus ??


Bei ODBC hast du im Prinzip die gleichen Probleme mit offenen Ports und muss den MySQL Server nach aussen
sichtbar machen.


----------



## Manuela (31. Okt 2007)

Hallo 
hier sind die anderen Fehlermeldungen,

java.net.SocksSocketImpl.readSocksReply(Unknown Souce)
java.net.SocksSocketImpl.connect(Unknown Souce)
java.net.Socket(Unknown Souce)
java.net.Socket.<init>(Unknown Source)
java.net.Socket.<init>(Unknown Source)
com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java173)

usw... 



gruß Manuela


----------



## Manuela (31. Okt 2007)

hallo 
hier noch die Message:
Malformed reply from Socks server  Stacktrace:  java.net.SocketException: Malformed reply from SOCKS Server

Gruß Manuela


----------



## Manuela (31. Okt 2007)

hier noch meine Connection.


```
DriverManager.getConnection(  "jdbc:mysql://Serv_bank/persVerwaltung", "Manuela","test");
```

ich habe auch mir im Mysql Administrator alle rechte gegeben und ich komme ja auch vom client rechner 
mit meinem Passwort und namen in das Mysql Administrator tool rein.

gruß Manuela


----------



## maki (31. Okt 2007)

An deiner Stelle ürde ich SQL Squirrel einsetzen: http://squirrel-sql.sourceforge.net/

Das benutzt auch jdbc, dann weist du ob das geht oder nicht.


----------



## manuela (31. Okt 2007)

Hallo
ich bekomme mit dem SQL auch eine Verbindung zu datenbank, aber wie kann ich das eiinsetzen das das in 
meinem Programm auch funktioniert.

Gruß Manuela


----------



## stevieboy (31. Okt 2007)

Vielleicht hilft Dir das hier, um ein Gefühl für die Verwendung zu bekommen?

http://www.galileocomputing.de/open...20_004.htm#mjcbfa93cf01ab180d464ba014b096e290


----------

