Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere JDBC-Treiber

 

Von einer JDBC-Clientanwendung aus verbinden

Datenbank-Metdaten sind bei der Verwendung des iAnywhere JDBC-Treibers immer verfügbar.

Wenn Sie von einer JDBC-Anwendung, die jConnect verwendet, auf Datenbank-Systemtabellen zugreifen wollen (Datenbank-Metadaten), müssen Sie eine Reihe von jConnect-Systemobjekten in Ihre Datenbank einfügen. Diese Prozeduren werden in allen Datenbanken standardmäßig installiert. Der Parameter dbinit -i verhindert die Installation.

Weitere Hinweise zum Hinzufügen von jConnect-Systemobjekten in eine Datenbank finden Sie unter jConnect-JDBC-Treiber verwenden.

Die folgende, vollständige Java-Anwendung ist ein Befehlszeilenprogramm, das eine Verbindung mit einer laufenden Datenbank herstellt, eine Reihe von Daten in der Befehlszeile ausgibt und beendet wird.

Der erste Schritt einer beliebigen JDBC-Anwendung ist die Herstellung der Verbindung mit der Datenbank, wenn sie mit dieser arbeiten will.

Dieses Beispiel veranschaulicht eine externe Verbindung, bei der es sich um eine reguläre Client/Server-Verbindung handelt. Hinweise zum Erstellen einer internen Verbindung von Java-Klassen, die im Datenbankserver laufen, finden Sie unter Verbindung von einer serverseitigen JDBC-Klasse herstellen.

Code eines Verbindungsbeispiels

Es folgt ein Beispiel-Quellcode für die Methoden, die zum Herstellen einer Verbindung eingesetzt werden. Der Quellcode befindet sich in der Datei JDBCConnect.java im Verzeichnis Beispielverzeichnis\SQLAnywhere\JDBC. Wie beschrieben, verwendet das Beispiel die JDBC-Version 3.0 des iAnywhere JDBC-Treibers, um eine Verbindung mit der Datenbank herzustellen. Um den jConnect 6.0.5-Treiber zu verwenden, ersetzen Sie ianywhere.ml.jdbcodbc.jdbc3.IDriver durch com.sybase.jdbc3.jdbc.SybDriver. Sie müssen auch die Verbindungszeichenfolge ändern, wenn Sie den jConnect 6.0.5-Treiber verwenden wollen. Code-Alternativen sind als Kommentare im Quellcode enthalten.

import java.io.*;
import java.sql.*;

public class JDBCConnect
{
  public static void main( String args[] )
  {
    try
    {
      // Select the JDBC driver. May throw a SQLException.
      // Choices are jConnect 6.0 driver
      // or iAnywhere JDBC 3.0 driver.
      // Currently, we use the iAnywhere JDBC 3.0 driver.
      DriverManager.registerDriver( (Driver)
        Class.forName(
        // "com.sybase.jdbc3.jdbc.SybDriver").newInstance()
        "ianywhere.ml.jdbcodbc.jdbc3.IDriver").newInstance()
        );

      // Create a connection. Choices are TDS using jConnect,
      // Sun's JDBC-ODBC bridge, or the iAnywhere JDBC driver.
      // Currently, we use the iAnywhere JDBC driver.
      Connection con = DriverManager.getConnection(
        // "jdbc:sybase:Tds:localhost:2638", "DBA", "sql");
        // "jdbc:odbc:driver=SQL Anywhere 11;uid=DBA;pwd=sql" );
        "jdbc:ianywhere:driver=SQL Anywhere 11;uid=DBA;pwd=sql" );

      // Create a statement object, the container for the SQL
      // statement. May throw a SQLException.
      Statement stmt = con.createStatement();

      // Create a result set object by executing the query.
      // May throw a SQLException.
      ResultSet rs = stmt.executeQuery(
        "SELECT ID, GivenName, Surname FROM Customers");

      // Process the result set.
      while (rs.next())
      {
        int value = rs.getInt(1);
        String FirstName = rs.getString(2);
        String LastName = rs.getString(3);
        System.out.println(value+" "+FirstName+" "+LastName);
      }
      rs.close();
      stmt.close();
      con.close();
    }
    catch (SQLException sqe)
    {
      System.out.println("Unexpected exception : " +
                sqe.toString() + ", sqlstate = " +
                sqe.getSQLState());
      System.exit(1);
    }
    catch (Exception e)
    {
      e.printStackTrace();
      System.exit(1);
    }

    System.exit(0);
  }
}

Funktionsweise des Verbindungsbeispiels
Verbindungsbeispiel ausführen
Verbindung von einer serverseitigen JDBC-Klasse herstellen
Hinweise zu JDBC-Verbindungen