# anbindung an sqlserver unter windows



## gast (29. Aug 2007)

Hallo,

ich möchte mich mit java an einen mysqlserver anbinden. mein pc und der des servers laufen unter windows.

ich bekomme aber die connection nicht richtig hin, denke mal es liegt an der url.

also der pc mit dem sqlserver hat die ip  192.168.1.168 und die datenbank heißt wsdb.

wie muss dann die url sein?

url = "jdbc:mysql:192.168.1.168:wsdb";  ?

oder wie muss die sein?
muss ich nicht irgendwie angeben wo genau die datenbank gespeichet ist? wenn ja wie beomme ich das raus?


----------



## mikachu (29. Aug 2007)

google.de - mysql java verbindung

#edit 1:
link aktualisiert


----------



## P3AC3MAK3R (29. Aug 2007)

http://www.exampledepot.com/egs/java.sql/ConnectMySql.html


----------



## gast (29. Aug 2007)

so hab ich es ja auch gemacht, aber es funktioniert nicht

```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;



public class myclass {

	public static void main(String[] args) {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
			
			Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.1.168/WSDB", "root", "root");
			
			Statement stmt = conn.createStatement();
			 
			ResultSet rset = stmt.executeQuery("select * from bauteilbezeichnung");
			
			while (rset.next())
				System.out.println(rset.getString("bezeichnung"));
				
				
			rset.close();
			stmt.close();
			conn.close();
			
			
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		
		
	}
}
```


und dann bekomme ich beim kompilieren die fehlermeldung

java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$100(Unknown Source)
	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)
Exception in thread "main" 



und ein popup mit "could not find main class. programm will exit"


----------



## sparrow (29. Aug 2007)

Scheint so als wäre dort eine Klasse die du verwenden möchtest mit einer anderen Version von Java erstellt.
Irgendwie sieht der Fehler aber seltsam aus. Prüf doch mal bitte dort wo der Fehler auftritt mit welcher Version von Java du das Programm ausführst.
Starte das Programm aus der Kommandozeile (nicht aus einer IDE oder über ein Icon) via _java myClass.class_. Tritt der Fehler dann auf prüfe in dem selben Verzeichnis mit _java -version_ welche JRE zum Ausführen des Programms eingesetzt wird. Nicht, dass er versehentlich eine dieser komischen M$-VMs verwendet.


----------



## Gast (29. Aug 2007)

daran scheint s wohl gelegen zu haben, hatte den 6.0compiler eingeschaltet, mit dem 5.0 kommt die fehlermeldung nicht mehr.

aber jetzt bekomme ich eine message vom server dass ich nicht berechtigt bin mich zu verbinden( also mein rechner mit der ip, nicht der benutzer)

muss ich das am server jetzt noch einrichten dass man auf ihn zugreifen darf?
wenn ja wie mache ich das?


----------



## sparrow (29. Aug 2007)

Klingt so als wenn dein mySQL entweder keine Socket-Connections annimmt oder keinen externen Login vor root zulässt.
Ich würde mal nach den mySQL-Config googeln, ist recht leicht.


Gruß
Sparrow


----------



## Gast (29. Aug 2007)

danke, habs jetzt am laufen


----------

