# Probleme mit der Verbindung zum localhost



## robb (31. Okt 2006)

Hi,

ich habe mir eine Sql-Datenbank erstellt die ich momentan noch lokal auf meinem Rechner teste und mittels Xampp verwalte. Wenn ich allerdings versuche eine Verbindung zu dem Server aufzubauen(Localhost):


```
import java.util.*;
import java.io.*;
import java.sql.*;
import java.text.*;
//import gk.util.*;



class HandyinfoSQL {
			
	private static final String CSQLDRIVER = "com.mysql.jdbc.Driver";
	private static final String CSQLCONNECT = "jdbc:mysql://localhost:3306/";	
	private Connection con;
	private Statement stmt;

	public HandyinfoSQL(){
	
		try	{
			openConnection();
		}
		catch (SQLException e) {
			while (e != null) {
				System.err.println(e.toString());
				System.err.println("SQL-State: " + e.getSQLState());
				System.err.println("ErrorCode: " + e.getErrorCode());
				e = e.getNextException();
			}
			System.exit(1);
			}
			catch (Exception e) {
				System.err.println(e.toString());
				System.exit(1);
			}
		
	}
	
	public void openConnection() throws Exception{
		
		Class.forName(CSQLDRIVER);		
		con = DriverManager.getConnection(CSQLCONNECT,"'root'","'(...)'");
		stmt = con.createStatement();
	}
}
```

Wenn ich nun von dieser Klasse eine Instanz erzeuge, wird mir folgender Fehler angezeigt:



> java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
> SQL-State: 28000
> ErrorCode: 1045



Kann mir jemand weiterhelfen?

mfg Robb


----------



## thE_29 (31. Okt 2006)

con = DriverManager.getConnection(CSQLCONNECT,"'root'","'(...)'"); 

Wieso übergibst du den Benutzer mit 'root' ?!

Hat der root User den Rechte?!

Und übergibst du das Passwort auch so?!


----------



## robb (31. Okt 2006)

Ich habe mir neben dem root-user, der alle Rechte hat noch einen zweiten User erstellt, der dieselben Rechte hat und auch auf meine erstellte Tabelle voll zugreifen kann. Nur irgendwie wird mir der Zugriff verweigert...

Ich bin bei der Übergabe von dem User-Namen erst davon ausgegangen, dass es wie ein normaler String übergeben wird, nur leider gabs es da folgenden Fehler:


> java.sql.SQLException: Unknown initial character set index '48' received from server. Initial client character set can be forced via the 'characterEncoding' property.
> SQL-State: S1000
> ErrorCode: 0



Und da "Strings" in Sql ja mit einfachen Hochkommata eingebettet werden dachte ich, dass dies des rätsels Lösung wäre....


----------



## KSG9|sebastian (31. Okt 2006)

con = DriverManager.getConnection(CSQLCONNECT,"user","pass"); 

mehr nicht. wenn du user in mysql hinzufügst musste das noch aktualisieren..musste mal googlen, da steht alles


----------



## robb (31. Okt 2006)

Hmm, ich habe die User mittels phpmyadmin eingestellt, aber wenn ich die einfachen Kommata weglasse spuckt er mir immer wieder den oben genannten Fehler aus...


----------



## thE_29 (31. Okt 2006)

Schonmal diese fehlermeldung bei google eingegeben?

Es ist klar, das es mit ' ' nicht funktioniert (schreibt er dir ja login denied hin) und das andere einen Konfigfehler hat!


----------



## robb (31. Okt 2006)

Also das mit dem User leuchtet mir ein, allerdings komm ich einfach nicht dahinter  wie ich die Verbindung richtig herstelle. 
Laut der Fehlermeldung bekomme ich ja eine unbekannte Charakter Menge, die ich explizit auch setzen kann. Nur weiss ich nicht welches Character Encoding ich da am besten nutzen soll...


----------



## thE_29 (31. Okt 2006)

http://svn.mysql.com/fisheye/browse...onnector-j/src/com/mysql/jdbc/Connection.java

Hier hast du die Klasse und man sieht auch wo es geworfen wird..

Vielleicht hilft dir das!


----------



## TecFader (31. Okt 2006)

Ich hab genau das gleiche Problem


```
ava.sql.SQLException: Unknown initial character set index '48' received from server. Initial client character set can be forced via the 'characterEncoding' property.
```

aber auch der link hilf mir nicht weiter! hast du das Problem gelöst? wenn ja kannst du mir verraten wie du es gemacht hast


----------



## robb (1. Nov 2006)

Nein,  ich habe es noch nicht gelöst... Aber wenn ich es geschafft habe, werde ich es posten wie. 
Falls du mir zuvor kommst, bitte ich auch um Aufklärung


----------



## Gast (2. Nov 2006)

Hey, 

hatte den selben Fehler, hab ihn gerade in einem anderen Forum gelöst gefunden.

Schaut mal hier nach:
http://www.tutorials.de/forum/java/258255-unknown-initial-character-set-index-received-server.html

PS: Warum ist das eigentlich so kompliziert und unstandartisiert?

MfG

Alex


----------



## Gast (2. Nov 2006)

Für alle, die zu faul sind, oder den Edit nicht gefunden haben:

"Hab das Problem gelöst. Es gibt im neusten Treiber einen Bug, der im Download noch nicht behoben ist. Nach Umstellung auf einen älteren JDBC Treiber läuft es einwandfrei."

Hier gibts die Versionen:
http://ftp.ntu.edu.tw/pub/MySQL/Downloads/Connector-J/

Ich hatte erst den:
mysql-connector-java-5.0.4
dann ersetzt durch den:
mysql-connector-java-3.1.9
(direkter link: http://ftp.ntu.edu.tw/pub/MySQL/Downloads/Connector-J/mysql-connector-java-3.1.9.zip)


----------



## robb (2. Nov 2006)

Vielen Dank für die Hilfe,

mfg Robb


----------

