Jedoch ohne Erfolg, ich weiß auch nicht ob ich überhaupt die Treiber richtig installiert habe, denn ich denke die „.jar“ die man ins Package einbinden muss solle eigentlich „com.mysql.jdbc.Driver.jsr“ heißen, bei mir heißt sie jedoch „mysql-connector-java-5.1.26-bin.jar“.
Der Code nach den Tutorials:
package de.Vailfire.CityBarLauncher;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// Achtung, nicht com.mysql.jdbc.* importieren,
// sonst bekommen Sie Probleme!
public class MysqlConnector {
public static void MysqlConnector() {
try {
// Der Aufruf von newInstance() ist ein Workaround
// für einige misslungene Java-Implementierungen
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception ex) {
// Fehler behandeln
}
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://db4free.net/citybar?user=vailfire&password=***Sag ich euch nicht!***");
// Verbindung benutzen
} catch (SQLException ex) {
// Fehler behandeln
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}}
Der Fehler in der Konsole:
CONSOLE: LoadingScreen created, intializing loadable objects ...
CONSOLE: Loading finished! Creating LauncherFrame
SQLException: No suitable driver found for jdbc:mysql://db4free.net/citybar?user=vailfire&password=***Sag ich euch nicht!***
SQLState: 08001
VendorError: 0
Ich hoffe um baldige Hilfe, auch wenn ich jetzt im falschem Forum gepostet hab
Mfg
Vailfire
Es hat seine Gründe warum Datenbanken nicht von extern erreichbar sind. Alles unsicher. Ich weiß, dass es mehr Aufwand ist, aber schalte einen Webservice dazwischen.
Der Aufwand ist mir recht egal, mein Problem ist nur, dass ich null Ahnung von php habe, alles was ich hinkrieg ist ein echo ^^.
Über diese Zwischenscripte habe ich schon gelesen, weiß aber auch nicht wie solche realisierbar sind .
Eben nicht, mir steht nämlich nicht das Geld für einen VServer geschweige denn Rootserver zur Verfügung, daher kann ich maximal einen kostenlosen Webspace verwenden.
Probier es mal mit: DriverManager.getConnection("jdbc:mysql://db4free.net:3306/Datenbankname einsetzen", "User einsetzen", "Passwort einsetzen");
Du hast den Port des Servers weggelassen. Ich hoffe mal dass der Port noch stimmt.
Hast du denn auch den Classpath richtig gesetzt?
Solche Scherze wie:
// Fehler behandeln
}```
kann man sich direkt sparen. Wenigstens ex.printStackTrace() muss schon rein. Vermutlich wird der Treiber wirklich nicht gefunden (was mich jedoch ein wenig wundert)
[QUOTE=KlemensyXYZ]Probier es mal mit: DriverManager.getConnection("jdbc:mysql://db4free.net:3306/Datenbankname einsetzen", "User einsetzen", "Passwort einsetzen");
Du hast den Port des Servers weggelassen. Ich hoffe mal dass der Port noch stimmt.
[/QUOTE]
Ging leider auch nicht
Ich denke ich mach das dann doch über ein „.php“-Script, ist genau das aber nicht auch unsicher? Weil es kann ja dann jeder auf das Script zugreifen und SQL-Befehle senden, oder wäre ein Passwortschutz für das Script empfehlenswert?
Mfg
Vailfire
Du kannst natürlich einen User an dein Request hängen. (Nicht htaccess)
In einem privaten Projekt, dass kaum oder wenig kommerziell ist, würde ich den Anbieter kontaktieren und die die Datenbank veröffentlichen. Also extern verfügbar machen.
Wie ich beschrieben habe, bieten dies auch einzelne Provider so an.
Bei DB4Free hast du auch externen Zugang.
Du kannst vorher sogar festlegen von welcher IP darauf zugegriffen werden kann. - Das Projekt wrde sonst kaum Sinn machen.
Das php-Script darf nicht generisch sein, sondern muss die SQL-Queries „eingebaut“ haben. Das Script bekommt dann einen abstrakten Befehl wie „gib mir die Adresse von User XY aus“, prüft dann, ob der angemeldete Nutzer die Adresse sehen darf, führt die eingebauteQuery dann aus und liefert nur den Datensatz zurück.
[QUOTE=XHelp;26481]Hast du denn auch den Classpath richtig gesetzt?
[…] Vermutlich wird der Treiber wirklich nicht gefunden (was mich jedoch ein wenig wundert)[/QUOTE]
Er kriegt zwar die Verbindung hin, gibt aber nicht meine Testtabelle aus
Als Testtabelle und SQL-Befehl habe ich dieses Tutorial befolgt: http://www.1keydata.com/de/sql/sql-select.php