Hallo,
ich habe ein Applet, mit dem ich auf eine MySQL-DB zugreifen möchte. Das Applet und die DB liegen auf demselben Server. Allerdings bekomme ich immer die Fehlermeldung: SQLException: No suitable driver SQLState: 08001
Ich programmiere unter Windows XP Professional mit dem jdk1.5.0_04 und verwende den Treiber mysql-connector-java-3.1.10-bin.jar. Mein MySQL-Server hat die Version 4.1.10a-nt, der Server ist ein Apache 1.3.33.
Habe verschiedenes probiert: Die jar-Datei des Connectors in das Verzeichnis kopiert, in dem das Applet gespeichert wird, die jar-Datei entpackt und diese Verzeichnisse in das Appletverzeichnis gespeichert. Habe die Funktion Class.forName() ersetzt durch DriverManager.registerDriver(), leider immer das gleiche Problem.
Anbei der Code des Applets:
Ich weiß, es gibt durchaus elegantere Methoden mit Java webbasiert auf eine DB zuzugreifen, aber leider lautet die Vorgabe, das mit einem Applet zu realisieren.
Danke im Voraus
Gruß
Katrin
ich habe ein Applet, mit dem ich auf eine MySQL-DB zugreifen möchte. Das Applet und die DB liegen auf demselben Server. Allerdings bekomme ich immer die Fehlermeldung: SQLException: No suitable driver SQLState: 08001
Ich programmiere unter Windows XP Professional mit dem jdk1.5.0_04 und verwende den Treiber mysql-connector-java-3.1.10-bin.jar. Mein MySQL-Server hat die Version 4.1.10a-nt, der Server ist ein Apache 1.3.33.
Habe verschiedenes probiert: Die jar-Datei des Connectors in das Verzeichnis kopiert, in dem das Applet gespeichert wird, die jar-Datei entpackt und diese Verzeichnisse in das Appletverzeichnis gespeichert. Habe die Funktion Class.forName() ersetzt durch DriverManager.registerDriver(), leider immer das gleiche Problem.
Anbei der Code des Applets:
Code:
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
/*
<html>
<head>
<title>Diagnosenübersicht</title>
</head>
<body>
<applet
code="Diaguebersicht.class"
archive = "mysql-connector-java-3.1.10-bin.jar"
width="950"
height="500">
</applet>
</body>
</html>
*/
public class Diaguebersicht extends JApplet
{
// Variables declaration - do not modify
private JButton hinzBtn;
private JButton bearbBtn;
private JButton delBtn;
private JButton ndiagBtn;
private JButton upupBtn;
private JButton upBtn;
private JButton downdownBtn;
private JButton downBtn;
private JLabel jLabel1;
private JLabel jLabel2;
private JLabel jLabel3;
private JLabel jLabel4;
private JLabel jLabel5;
private JPanel jPanel1;
private JPanel jPanel2;
private JPanel jPanel3;
private JPanel jPanel4;
private JPanel jPanel5;
private JPanel jPanel6;
private JPanel jPanel7;
private JTable table;
private DefaultTableModel tableModel;
private JScrollPane scrollPane;
String treiber = null;
// End of variables declaration
public void init()
{
try
{
DriverManager.setLogWriter( new PrintWriter(System.out) );
Class.forName("com.mysql.jdbc.Driver");
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
for (Enumeration e = DriverManager.getDrivers(); e.hasMoreElements();)
{
System.out.println( e.nextElement().getClass().getName());
}
}
catch (Exception ex)
{
// handle the error
System.out.println("Treiber konnte nicht geladen werden");
}
Connection conn = null;
try
{
conn = DriverManager.getConnection("jdbc:mysql://192.168.0.16:3306/phepa", "stookie", "test123");
}
catch (SQLException ex)
{
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
// assume conn is an already created JDBC connection
Statement stmt = null;
ResultSet rs = null;
try
{
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT localisationside_cd FROM pat_diagnosis");
}
catch (SQLException ex)
{
System.out.println(ex);
}
finally
{
if (rs != null)
{
try
{
while (rs.next())
System.out.println(rs.getString(1));
}
catch (SQLException sqlEx)
{}
rs = null;
}
if (stmt != null)
{
try
{
stmt.close();
}
catch (SQLException sqlEx)
{}
stmt = null;
}
}
jPanel1 = new JPanel();
jPanel5 = new JPanel();
jLabel1 = new JLabel("Stammdaten");
jPanel6 = new JPanel();
jLabel2 = new JLabel();
jLabel4 = new JLabel();
jLabel3 = new JLabel();
jLabel5 = new JLabel();
jPanel7 = new JPanel();
tableModel = new DefaultTableModel();
jPanel2 = new JPanel();
upupBtn = new JButton("S");
upBtn = new JButton("O");
downdownBtn = new JButton("R");
downBtn = new JButton("T");
jPanel3 = new JPanel();
hinzBtn = new JButton("Hinzufügen");
bearbBtn = new JButton("Bearbeiten");
delBtn = new JButton("Löschen");
jPanel4 = new JPanel();
ndiagBtn = new JButton("Nebendiagnose");
scrollPane = new JScrollPane();
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
jPanel1.setLayout(new BorderLayout());
jPanel5.add(jLabel1);
jPanel1.add(jPanel5, BorderLayout.NORTH);
jLabel2.setText("Name");
jPanel6.add(jLabel2);
jLabel4.setText("Straße");
jPanel6.add(jLabel4);
jLabel3.setText("Geburtsdatum");
jPanel6.add(jLabel3);
jLabel5.setText("Ort");
jPanel6.add(jLabel5);
jPanel1.add(jPanel6, BorderLayout.CENTER);
jPanel1.add(jPanel7, BorderLayout.SOUTH);
contentPane.add(jPanel1, BorderLayout.NORTH);
tableModel.addColumn("");
tableModel.addColumn("lfd. Nr.");
tableModel.addColumn("Diagnosentext");
tableModel.addColumn("Lokalisation");
tableModel.addColumn("seit");
tableModel.addColumn("Sicherheit");
tableModel.addColumn("Bezugsart");
tableModel.addColumn("zu Diag-Nr.");
tableModel.addColumn("ICD");
tableModel.addColumn("erfasst am");
tableModel.addColumn("durch");
tableModel.addColumn("Notiz");
Vector reihe = new Vector();
reihe.add("");
reihe.add("1");
reihe.add("Testtext");
reihe.add("rechts");
reihe.add("August 2005");
reihe.add("Verdacht auf");
reihe.add("Folgediagnose");
reihe.add("2");
reihe.add("XY 23.5");
reihe.add("01.08.05");
reihe.add("Dr. Erfasser");
reihe.add("vorhanden");
tableModel.addRow(reihe);
table = new JTable();
table.setModel(tableModel);
scrollPane.add(table);
contentPane.add(scrollPane, BorderLayout.CENTER);
scrollPane.setViewportView(table);
jPanel2.add(upupBtn);
jPanel2.add(upBtn);
jPanel2.add(downdownBtn);
jPanel2.add(downBtn);
jPanel3.add(hinzBtn);
jPanel3.add(bearbBtn);
jPanel3.add(delBtn);
jPanel4.setLayout(new BorderLayout());
jPanel4.add(ndiagBtn, BorderLayout.CENTER);
jPanel2.add(jPanel3);
jPanel2.add(jPanel4);
contentPane.add(jPanel2, BorderLayout.SOUTH);
}
}
Danke im Voraus
Gruß
Katrin