• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Java: Verbindung mit SQL-Server (DB2)

  • Ersteller Ersteller Gelöschter User 28079
  • Erstellt am Erstellt am

Gelöschter User 28079

Gast
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