Klausi: Progress Datenbank

Guten morgen!
Ich hätte da ei´n paara Fragen, mit denen ich euch gleich morgens nerven will:
Ich muss/soll von Java aus eine Datenbankanbindung an eine Progress DB machen. Da ich von DB in Java keine Ahnung hatte, habe ich mir ungefähr eine million Tutorials und Posts gegeben, und da habe ich jetzt noch folgende Frage:

Muss ich den ODBC Treiber ganz genau ansprechen? Ich meine, muss ich die Position eines ODBC Treibers genau angeben, oder holt sich Java den richtigen Treiber dann von Windows?

Wäre fein, wenn einer von euch mal Zeit hätte - Klausi

  1. Ach ja, was ich vergessen habe:

    Bis jetzt bekomme ich nur folgende Exception
    java.sql.SQLException: No suitable driver

    für folgenden Code:
      String dbURL="jdbc:rmi://Indios/jdbc:odbc:indios";
      String dbPass="";
      String dbUser="";
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      System.out.println("Direkt vor der Connection");
      Connection c=DriverManager.getConnection(dbURL, dbUser, dbPass);

    Danke nochmals, Klausi

    1. Hallo,

      zuerst einmal möchte ich sagen dass der JdbcOdbcDriver nur zum Entwickeln und Testen gut ist, denn wie der Name schon sagt ist er eine Brücke zu ODBC. Dies bedeutet dass er langsam ist, für eine richtige Datenbankapplikation brauchst du einen nativen Treiber für deine Progress DB (normalerweise eine Jar Datei die im CLASSPATH liegen  muss).

      Zum Rumprobieren reicht aber auch der JdbcOdbcDriver. Du musst in der Systemsteuerung einen ODBC Alias für deine DB anlegen und diesen dann von Java aus ansprechen:
         String dbURL="jdbc:odbc:indios";
      wobei indios dann der Odbc Alias sein muss.
      wenn du die Datenbank direkt ansprechen willst, was zu empfehlen ist, brauchst du einen richtigen Treiber.

      Dominik

  2. Zuerst gehst du in die Systemsteuerung und stellst die ODBC Datenquelle ein.Hier gibst du einen datenquellenname ein und wählst die datenbank aus.

    Java Code sieht dann so aus:

    try
        {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          Connection con=DriverManager.getConnection("jdbc:odbc:datenquellenname","user","pw");

    Statement stmt = con.createStatement();

    rs=stmt.executeQuery(select);

    }
        catch(Exception e)
        {
          System.out.println("Fehler: "+e.getMessage());
        }

    Anschließend kannst du das Resulset rs bearbeiten.
    datenquellenname, user und pw musst du durch deine parameter ersetzen.

    Ich hoffe ich konnte dir helfen!

    Mfg
    korn888