• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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?
 

DubiDuh

Zwiebelapfel
Registriert
20.05.08
Beiträge
1.288
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;
    }
}
 

ando-x88

Celler Dickstiel
Registriert
29.03.07
Beiträge
799
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
 

DubiDuh

Zwiebelapfel
Registriert
20.05.08
Beiträge
1.288
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...
 

ando-x88

Celler Dickstiel
Registriert
29.03.07
Beiträge
799
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..
 

DubiDuh

Zwiebelapfel
Registriert
20.05.08
Beiträge
1.288
hast du denn auch das "static" vor der zweiten Methode beachtet? Das ist extrem wichtig.
 

ando-x88

Celler Dickstiel
Registriert
29.03.07
Beiträge
799
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
 

DubiDuh

Zwiebelapfel
Registriert
20.05.08
Beiträge
1.288
Dann musst du Objektorientiert arbeiten

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