Cstar
Mitglied
Hi,
seit gestern versuch ich nun zum erstenmal mit einem javaprogramm auf eine Datenbank zuzugreifen.
Unter Knoppix also Debian habe ich die Pakete mysql-client und mysql-server installiert.
Ich habe folgende mysql befehle verwendet zur Anlegung der Datenbank:
CREATE DATABASE DokNetDB;
USE DokNetDB;
CREATE TABLE Dokumente (Name CHAR(255), Ausgabe CHAR(10));
INSERT INTO Dokumente VALUES("Dokument 1", "1999-01-00");
INSERT INTO Dokumente VALUES("Dokument 3", "1999-02-00");
INSERT INTO Dokumente VALUES("Dokument 4", "1999-04-00");
Nach dem Start von Mysql (mittels /etc/init.d/mysql start) habe ich folgendes Programm kompiliert:
-----------------------------------------------------------------------------------------
import java.sql.*;
public class HelloWorld
{
public static void main(String argv[])
{
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
}
catch(Exception exception)
{
System.out.println("Can't find Database driver class:"+exception.getMessage());
return;
}
try
{
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/DokNetDB?user=root");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT Name, Ausgabe FROM Dokumente");
System.out.println("Dokument | Ausgabedatum:");
System.out.println("-------------------------------");
while (resultSet.next())
{
System.out.print(resultSet.getString(1));
System.out.print(" | ");
System.out.println(resultSet.getString("Ausgabe"));
}
resultSet.close();
statement.close();
connection.close();
}
catch(SQLException sqlException)
{
System.out.println(sqlException.getMessage());
return;
}
}
}
----------------------------------------------------------------------------------------
Ich hab einen passenden Treiber aus dem Netz gesucht und den Klassenpfad gesetzt:
export CLASSPATH=$CLASSPATH:/home/astryx/mm.mysql-2.0.4-bin.jar
Wenn ich das Programm dann ausführe, tritt aber eine Exception im try-Block auf:
-------------------------------------------------------------------------------------------
Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
-------------------------------------------------------------------------------------------
Ausführlicher lautet die Exception-Meldung folgenermaßen:
------------------------------------------------------------------------------------------
SQLException : Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)java.sql.SQLException: Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
at org.gjt.mm.mysql.Connection.connectionInit(Connection.java:331)
at org.gjt.mm.mysql.jdbc2.Connection.connectionInit(Connection.java:89)
at org.gjt.mm.mysql.Driver.connect(Driver.java:167)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at HelloWorld.main(HelloWorld.java:33)
Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
--------------------------------------------------------------------------------------------
MySQL wurde erst gestern mit apt-get installiert. Es wurden keine Einstellungen an MySQL vorgenommen (wie z.B. Passwörter). Der Treiber für mysql (org.gjt.mm.mysql.Driver) wurde anscheinend erkannt. Nur die Verbindung zwische jdbc und mysql funktioniert nicht!
"mysqlshow" zeigt die erstellte Table "DokNetDB" an.
Im mysql-monitor erhalte ich mit dem "status"-Befehl folgende Ausgabe:
-------------------------------------------------------------------------------------------
mysql> status
--------------
mysql Ver 12.22 Distrib 4.0.20, for pc-linux-gnu (i386)
Connection id: 10
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Server version: 4.0.20-log
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 19 min 53 sec
Threads: 1 Questions: 47 Slow queries: 0 Opens: 14 Flush tables: 1 Open tables: 8 Queries per second avg: 0.039
-------------------------------------------------------------------------------------------
Wo könnte der Fehler liegen (und v.a. wie lässt er sich beheben)?
mfg
seit gestern versuch ich nun zum erstenmal mit einem javaprogramm auf eine Datenbank zuzugreifen.
Unter Knoppix also Debian habe ich die Pakete mysql-client und mysql-server installiert.
Ich habe folgende mysql befehle verwendet zur Anlegung der Datenbank:
CREATE DATABASE DokNetDB;
USE DokNetDB;
CREATE TABLE Dokumente (Name CHAR(255), Ausgabe CHAR(10));
INSERT INTO Dokumente VALUES("Dokument 1", "1999-01-00");
INSERT INTO Dokumente VALUES("Dokument 3", "1999-02-00");
INSERT INTO Dokumente VALUES("Dokument 4", "1999-04-00");
Nach dem Start von Mysql (mittels /etc/init.d/mysql start) habe ich folgendes Programm kompiliert:
-----------------------------------------------------------------------------------------
import java.sql.*;
public class HelloWorld
{
public static void main(String argv[])
{
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
}
catch(Exception exception)
{
System.out.println("Can't find Database driver class:"+exception.getMessage());
return;
}
try
{
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/DokNetDB?user=root");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT Name, Ausgabe FROM Dokumente");
System.out.println("Dokument | Ausgabedatum:");
System.out.println("-------------------------------");
while (resultSet.next())
{
System.out.print(resultSet.getString(1));
System.out.print(" | ");
System.out.println(resultSet.getString("Ausgabe"));
}
resultSet.close();
statement.close();
connection.close();
}
catch(SQLException sqlException)
{
System.out.println(sqlException.getMessage());
return;
}
}
}
----------------------------------------------------------------------------------------
Ich hab einen passenden Treiber aus dem Netz gesucht und den Klassenpfad gesetzt:
export CLASSPATH=$CLASSPATH:/home/astryx/mm.mysql-2.0.4-bin.jar
Wenn ich das Programm dann ausführe, tritt aber eine Exception im try-Block auf:
-------------------------------------------------------------------------------------------
Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
-------------------------------------------------------------------------------------------
Ausführlicher lautet die Exception-Meldung folgenermaßen:
------------------------------------------------------------------------------------------
SQLException : Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)java.sql.SQLException: Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
at org.gjt.mm.mysql.Connection.connectionInit(Connection.java:331)
at org.gjt.mm.mysql.jdbc2.Connection.connectionInit(Connection.java:89)
at org.gjt.mm.mysql.Driver.connect(Driver.java:167)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at HelloWorld.main(HelloWorld.java:33)
Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException)
--------------------------------------------------------------------------------------------
MySQL wurde erst gestern mit apt-get installiert. Es wurden keine Einstellungen an MySQL vorgenommen (wie z.B. Passwörter). Der Treiber für mysql (org.gjt.mm.mysql.Driver) wurde anscheinend erkannt. Nur die Verbindung zwische jdbc und mysql funktioniert nicht!
"mysqlshow" zeigt die erstellte Table "DokNetDB" an.
Im mysql-monitor erhalte ich mit dem "status"-Befehl folgende Ausgabe:
-------------------------------------------------------------------------------------------
mysql> status
--------------
mysql Ver 12.22 Distrib 4.0.20, for pc-linux-gnu (i386)
Connection id: 10
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Server version: 4.0.20-log
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 19 min 53 sec
Threads: 1 Questions: 47 Slow queries: 0 Opens: 14 Flush tables: 1 Open tables: 8 Queries per second avg: 0.039
-------------------------------------------------------------------------------------------
Wo könnte der Fehler liegen (und v.a. wie lässt er sich beheben)?
mfg