• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Java: Verbindung mit SQL-Server (DB2)

ando-x88

Celler Dickstiel
Registriert
29.03.07
Beiträge
799
Ich muss für die Uni ein Java-Programm schreiben, was sich mit einer DB2-Datenbank verbinden soll.

Hier die Aufgabe:

Tasks
a) Write a Java method establishing a connection to our DB2 database. The Connection object is to be returned by the method. Signature should look like this: public Connection getDBLABConnection() throws SQLException
Hint: Set the retrieveMessagesFromServerOnGetMessage property to true during
connection initialization in order to obtain verbose exceptions from the JDBC driver.

Könnt ihr euch vorstellen, was mit " Signature should look like this: public Connection getDBLABConnection() throws SQLException" gemeint ist?

So sieht mein Code bisher aus:

Code:
package sql5;

import java.sql.*;
import java.sql.Connection;
import com.ibm.db2.jcc.*;



public class aufgabe_a {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        try {

             Class.forName("com.ibm.db2.jcc.DB2Driver");
             }

        catch(java.lang.ClassNotFoundException e) {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
        }

       
      
        
      

        
    }

    public Connection getDBLABConnection() throws SQLException {
        String url = "jdbc:db2://url";
        Connection con = null;
        con = DriverManager.getConnection(url, "name", "passwort");
        return con;

        }

}

Bisher macht das Programm eigentlich nichts, da ich nicht weiß, wie man dieses "getDBLABConnection()" startet.

Könnt ihr mir weiterhelfen?
 
Code:
package sql5;

import java.sql.*;
import java.sql.Connection;
import com.ibm.db2.jcc.*;

public class aufgabe_a
{
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        try
        {
    		Class.forName("com.ibm.db2.jcc.DB2Driver");
        }
        catch(java.lang.ClassNotFoundException e)
        {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
        }
        
        try 
        {
        	getDBLABConnection();
        }
        catch(SQLException e)
        {
        	System.err.println("SQLException: "+e.getMessage());
        }
    }

    public static Connection getDBLABConnection() throws SQLException
    {
        String url = "jdbc:db2://url";
        Connection con = null;
        con = DriverManager.getConnection(url, "name", "passwort");
        return con;
    }
}
 
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - non-static method getDBLABConnection() cannot be referenced from a static context
at sql5.aufgabe_a.main(aufgabe_a.java:37)
Java Result: 1
 
Und nu?

Du kannst kein JAVA, aber willst ne Datenbankverbindung.... Lern erstmal JAVA.. ich programmier dir das hier nicht runter ;) Es sei denn du kannst mich bezahlen :P

Mein Code läuft bei mir ohne Probleme...
 
Und nu?

Du kannst kein JAVA, aber willst ne Datenbankverbindung.... Lern erstmal JAVA.. ich programmier dir das hier nicht runter ;) Es sei denn du kannst mich bezahlen :P

Mein Code läuft bei mir ohne Probleme...

Es läuft bei vielen, nur bei mir nicht. Ich verstehe nur nicht warum..
 
hast du denn auch das "static" vor der zweiten Methode beachtet? Das ist extrem wichtig.
 
hast du denn auch das "static" vor der zweiten Methode beachtet? Das ist extrem wichtig.

ja, habe ich. Allerdings steht es in der Aufgabe ohne "static", von daher darf ich es wahrscheinlich nicht benutzen :/

Danke übrigens für deine Mühe :D
 
Dann musst du Objektorientiert arbeiten

Code:
aufgabe_a a = new aufabe_a();
a. getDBLABConnection();
 
  • Like
Reaktionen: ando-x88