MySQL-Server und Java
Verbindungsprogramm einsetzen
Verbindungsprogramm beschaffen
- URI
http://dev.mysql.com/downloads/connector/j/
Windows (x86, 32-bit), MSI Installer
- URI
http://dev.mysql.com/downloads/file.php?id=452397
- →
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-gpl-5.1.31.msi
- Dateiname
mysql-connector-java-gpl-5.1.31.msi
Verbindungsprogramm installieren
- Ist eventuell schon installiert. Dann ist es unter einem Pfad wie
C:\Program Files\MySQL\Connector J 5.1.23
Sonst Installierer starten. Dann wird es installiert unter einem Pfad wie
C:\Program Files\MySQL\MySQL Connector J
Verbindungsprogramm lokalisieren
- Mögliche Pfade sind ähnlich wie
C:\Program Files\MySQL\Connector J 5.1.23\mysql-connector-java-5.1.23-bin.jar
C:\Program Files\MySQL\MySQL Connector J\mysql-connector-java-5.1.31-bin.jar
Verbindungsprogramm einbinden
- Übersetzen wie bisher, Bibliothek wird dynamisch geladen
javac Main.java
- Starten mit Angabe des Verbindungsprogramms im Klassenpfad (unter Linux: »;« -> »:«)
$ java -cp ".;C:\Program Files\MySQL\MySQL Connector J\mysql-connector-java-5.1.31-bin.jar" Main
Zugriffsdaten beschaffen
Abfrage des Benutzernamens (wie beispielsweise »root«)
SELECT USER();
Abfrage des Anschlusses (wie beispielsweise »3306«)
SHOW VARIABLES WHERE Variable_name = 'port';
Java -Programm schreiben
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.sql.Connection connection = null;
java.sql.Statement statement = null;
java.sql.ResultSet resultSet = null;
final java.lang.String url = "jdbc:mysql://localhost:3306/r";
final java.lang.String username = "root";
final java.lang.String password = ""; /* hier password eintragen! */
try
{ connection = java.sql.DriverManager.getConnection( url, username, password );
statement = connection.createStatement();
resultSet = statement.executeQuery( "select version();" );
if( resultSet.next() )java.lang.System.out.println( resultSet.getString( 1 )); }
catch( final java.sql.SQLException exception )
{ java.util.logging.Logger.getLogger( Main.class.getName() ).
log( java.util.logging.Level.SEVERE, exception.getMessage(), exception ); }
finally
{ try
{ if( resultSet != null )resultSet.close();
if( statement != null )statement.close();
if( connection != null )connection.close(); }
catch( final java.sql.SQLException exception )
{ java.util.logging.Logger.getLogger(Main.class.getName() ).
log( java.util.logging.Level.WARNING, exception.getMessage(), exception ); }}}}java.lang.System.out
5.7.4
- Server nicht gestartet
SEVERE: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure- Zugriffsversagung (falsches password ?)
SEVERE: Access denied for user 'root'@'localhost' (using password: YES)
- Syntaxfehler
SEVERE: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '...' at line 1
- Aussprachehinweis
- close cloz