# Applet und Verbindung zur DB



## seejay (15. Jun 2007)

Hallo,
ich habe nachdem ich von aussen noicht immer auf meine DB komme mir überlegt das Programm als Applet zu schreiben. Doch auch da hab ich Probleme an die DB zu kommen.
Ich bekomme es nicht hin, dass die Treiber geladen werden.
Im Moment sieht mein Code so aus
hmtl Datei für den Aufruf:

```
<applet code="StartUp/LogIn.class" 
        archive="JavaApp.jar,mysql-comp.jar" width="800px">
</applet>
```
wobei JavaApp.jar meine Jar ist und mysql-comp der mysql-connector-java-5.1.0.

LogIn.class

```
public class LogIn extends javax.swing.JApplet {
    
    private DataSource dataSource = null;
    Connection conn = null; 
    Statement stmt = null;
    /** Initializes the applet LogIn */

    
    
    private DataSource createMySqlDataSource() {
    MysqlDataSource mySqlDataSource = new MysqlDataSource();
    mySqlDataSource.setUser("xxxx");
    mySqlDataSource.setPassword("xxxx");
    mySqlDataSource.setServerName("localhost");
    mySqlDataSource.setPort(3306);
    mySqlDataSource.setDatabaseName("xxxx");
    return mySqlDataSource;
    }
    
  	public void start() {
  		try {
  			conn = dataSource.getConnection();
                        jLabel1.setText("geschafft");
  		} catch (SQLException e) {
  			jLabel1.setText("Fehler");
                        e.printStackTrace();
  		}
  	}
  
  	public void stop() {
  		try {
  			conn.close();
  		} catch (SQLException e) {
  			e.printStackTrace();
  		}
  	}
        
    public void init() {
        try {
            java.awt.EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                    initComponents();
                    dataSource = createMySqlDataSource();
                    start();
                    
                }
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
```

Was genau muss ich mit der mysql jar Datei machen. Ich habe schon vieles gelesen, aber irgendwie hat mich das alles nicht weitergebracht.

Ich hoffe ihr könnt mir helfen.

Danke und Gruß
seejay


----------



## bronks (15. Jun 2007)

seejay hat gesagt.:
			
		

> Hallo,
> ich habe nachdem ich von aussen noicht immer auf meine DB komme mir überlegt das Programm als Applet zu schreiben. Doch auch da hab ich Probleme an die DB zu kommen ...


Auch ein Servlet greift von aussen auf die DB zu und Du wirst die gleichen Probleme habe. Abhilfe schafft da nur ein Servlet, weil dieses auf dem Server ausgeführt wird.


----------



## seejay (15. Jun 2007)

aber ein applet ist doch auf dem Webserver und greift so per localhost auf die Datenbank zu. Bei einem Javaprogramm, dass man auf dem eigenen Rechner hat, wird ja nicht auf den Localhost zugegriffen sondern auf die Adresse der DB. Deshalb dachte ich, dass ein applet Verbindung gekommen müsste oder nicht?


----------



## trazzag (15. Jun 2007)

Ein Applet läuft immer lokal beim User im Browser und nicht auf dem Server!


----------



## seejay (15. Jun 2007)

also müsste ich auch nicht per lokalhost auf die db zugreifen sondern mit dem domänennamen?

und zum eigentlich problem, was muss ich da machen?


----------



## trazzag (15. Jun 2007)

Pack dir den mysql Connector in ein lib verzeichnis, und importiere ihn.

Ich stelle meine DB-Verbindungen meist wie folgt her:


```
public Connection getConnection() {
		Connection connection = null;

		/* Datenbanktreiber laden */
		try {
			Class.forName("HIER KOMMT DEIN TREIBER REIN");
		} catch (ClassNotFoundException exception) {
			System.out.println("Fehler beim Laden des DB-Treibers: "
					+ exception.getMessage());
			System.exit(1);
		}

		/* Datenbankverbindung herstellen */
		try {
			connection = DriverManager.getConnection("jdbc:TREIBER:DATENBANK",
					"LOGIN", "PW");
		} catch (SQLException exception) {
			System.out.println("Fehler beim Verbinden mit der Datenbank: "
					+ exception.getMessage());
			System.exit(1);
		}
		return connection;
	}
```

Vielleicht hilft dir das ja weiter...


----------



## seejay (15. Jun 2007)

trazzag hat gesagt.:
			
		

> Pack dir den mysql Connector in ein lib verzeichnis, und importiere ihn.


da hab ich schon mein Problem. Wenn ich es in Netbeans bei Libraries Run und Compile hinzufüge ist, ist es nicht in meinem Jar Verzeichnis dabei. Oder was genau meinst damit?


----------



## L-ectron-X (15. Jun 2007)

Wie man in Netbeans externe Bibliotheken integriert:
http://www.java-forum.org/de/viewtopic.php?topic=40671

Ausgegeben werden externe Bibliotheken immer als Kopie im dist/lib/ -Verzeichnis deines Projektes.


----------



## seejay (15. Jun 2007)

vielen Dank!
würde des vllt sogar ins FAQ mit reinpacken.


----------

