Ein netzwerkrelationales Datenbankanwendungssystem ist eine dreistufige Struktur. Der Client und der Server sind über ein Netzwerk verbunden. Das Client-Anwendungsprogramm kommuniziert mit dem serverseitigen Datenbankprogramm gemäß dem Kommunikationsprotokoll. Das Datenbankdienstprogramm kommuniziert mit dem Datenbankverwaltungssystem über SQL-Befehle.
Es gibt zwei Möglichkeiten, Java-Programme mit Datenbanken zu verbinden. Eine besteht darin, eine JDBC-ODBC-Brücke für die Verbindung zur Datenbank zu verwenden, die andere darin, einen reinen Java-JDBC-Treiber für die Verbindung mit der Datenbank zu verwenden.
Stellen Sie über die JDBC-ODBC-Brücke eine Verbindung zur Datenbank her
Das Java-Programm verwendet die JDBC-ODBC-Brücke, um eine Verbindung zur Datenbank herzustellen. Der Kommunikationsprozess zwischen dem Java-Programm und der Datenbank ist:
Zunächst sendet die Datenbankanwendung einen API-Aufruf an den ODBC-Treibermanager. Der ODBC-Treibermanager wandelt diesen Aufruf in einen ODBC-Treiberaufruf an das Datenbankverwaltungssystem um System. Anruf. Schließlich holt sich das Betriebssystem die eigentlichen Daten aus der Datenbank und gibt sie Schritt für Schritt zurück.
Bei der Datenbankprogrammierung muss zunächst die Datenquelle eingerichtet werden. Die Schritte zum Einrichten der Datenquelle in ODBC sind wie folgt:
Öffnen Sie die Verwaltungstools in der Windows-Systemsteuerung. Für Windows XP: Wählen Sie „Leistungswartung“ >> „Verwaltungstools“ >> „Datenquelle (ODBC)“; für Windows 2000: Wählen Sie „Verwaltungstools“ >> „Datenquelle“.
Öffnen Sie „Datenquelle“. Das Dialogfeld „ODBC-Datenquellen-Manager“ wird angezeigt und zeigt die Namen der vorhandenen Datenquellen an.
Wählen Sie „Benutzer-DSN“, klicken Sie auf die Schaltfläche „Hinzufügen“ und das Dialogfeld zur Installation des Datenquellentreibers wird angezeigt. Greifen Sie auf die Datenquelle (*.mdb) zu, klicken Sie auf die Schaltfläche „Fertig stellen“. Das Dialogfeld „Datenquelle erstellen“ wird angezeigt. Geben Sie den Namen der zu erstellenden Datenquelle ein und wählen Sie eine Datenbanktabelle für die erstellte Datenquelle aus.
Klicken Sie im Datenbankbereich auf die Schaltfläche „Auswählen“ und wählen Sie die gewünschte Datenbanktabelle aus. Wenn Sie die Zugriffsebene für die Datenquelle autorisieren müssen, klicken Sie auf die Schaltfläche „Erweitert“. Nachdem Sie den Anmeldenamen und das Passwort festgelegt haben, klicken Sie auf die Schaltfläche „OK“, um die Konfiguration der Access-Datenbank im ODBC-Manager abzuschließen.
Wenn noch keine Datenbanktabelle vorhanden ist, müssen Sie eine erstellen.
Die Datenquelle ist die Datenbank. Nach dem Festlegen der Datenquelle muss das Java-Programm auf die Datenbanktabelle zugreifen und eine JDBC-ODBC-Brücke einrichten, um das Programm mit der Datenbank zu verbinden. Danach kann das Programm SQL-Anweisungen an die Datenbank senden und die von der Datenbank zurückgegebenen Ergebnisse verarbeiten. Java-Datenbankverbindung JDBC (Java DataBase Connectivity) besteht aus einer Reihe von Klassen und Schnittstellen, die in der Java-Sprache geschrieben sind. JDBC ist eine API zum Verbinden von Java-Programmen mit Datenbanken. Es kann die folgenden drei Dinge tun: eine Verbindung mit einer Datenbank herstellen, SQL-Anweisungen an die Datenbank senden und die von der Datenbank zurückgegebenen Ergebnisse verarbeiten.
Durch Aufrufen der Klassenmethode Class.forName(String s) kann eine JDBC-ODBC-Brücke aufgebaut werden. Beispielcode:
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" }catch(Exception e){}
Für Java-Programme werden Treiber geladen.
[Beispiel] Beschreiben Sie die Methode connectByJdbcOdbc() zum Herstellen einer Verbindung zur Datenbank gemäß der angegebenen Datenbank-URL, dem Benutzernamen und dem Kennwort. Wenn die Verbindung erfolgreich ist, gibt die Methode das Verbindungsobjekt zurück erfolglos, es wird leer zurückgegeben.
öffentliche statische Verbindung connectByjdbcOdbc(String url, String username, String passwort){ Connection con = null try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //Load ODBC drivers} Catch (Exception e){ e .printStackTrace(); return null; //Verbindung fehlgeschlagen} try{ con = DriverManager.getConnection(url, username, password } Catch (SQLExceotuib e){ e.printStackTrace(); return null; //Verbindung fehlgeschlagen} return con;
Der folgende Code ist ein Aufruf der Methode connectByJdbcOdbc(). Wenn die Datenbankverbindung erfolgreich ist, wird das Meldungsfenster zur Datenbankverbindung angezeigt.
if ((con = connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) != null){ JoptionPane.showMessageDialog(null, "Datenbankverbindung erfolgreich"); con = null; } Catch (SOLException e){}}else JOptionPane.showMessageDialog(null, „Datenbankverbindung fehlgeschlagen“);
Verwenden Sie einen reinen Java-JDBC-Treiber, um eine Verbindung zur Datenbank herzustellen
Java-Programme können auch reine Java-JDBC-Treiber verwenden, um eine Verbindung zur Datenbank herzustellen. Diese Methode ist weit verbreitet, erfordert jedoch das Herunterladen des entsprechenden Treiberpakets, da die Verbindungscodes verschiedener Datenbanken unterschiedlich sein können und die geladenen Treiber beim Herstellen einer Verbindung zu verschiedenen Datenbanken ebenfalls unterschiedlich sein können. Der Treiber zum Herstellen einer Verbindung mit SQLServer wird beispielsweise von der Website www.msdn.com heruntergeladen. Es gibt drei Pakete: msbase.jar, mssqlserver.jar und msutil.jar, und diese drei Pakete müssen in jdk/jre abgelegt werden /lib/ext/-Verzeichnis oder legen Sie seine Platzierung in CLASSPATH fest.
Der Prozess der Verwendung eines reinen Java-JDBC-Treibers zum Herstellen einer Verbindung zur Datenbank ist wie folgt:
Laden Sie den Treiber. Es gibt zwei Möglichkeiten, den Treiber zu laden:
Eine besteht darin, den Treiber zur Eigenschaft jdbc.drivers von java.lang.System hinzuzufügen. Dies ist eine durch Doppelpunkte getrennte Liste der von der DriverManager-Klasse geladenen Treiberklassennamen.
Eine andere Möglichkeit besteht darin, die Methode Class.forName() zu verwenden, um den angegebenen Treiber in das Programm zu laden, nachdem der Treiber von der entsprechenden Website heruntergeladen wurde. Zum Beispiel:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Erstellt eine URL für die angegebene Datenbank. Das URL-Objekt der Datenbank ähnelt dem Uniform Resource Locator des Netzwerks und hat folgendes Format:
jdbc:subProtocol:subName://hostname:port:Datenbankname=XXX
Unter ihnen ist „Subprotocol“ ein Datenbankverbindungsmechanismus, der von einem bestimmten Treiber unterstützt wird; Der folgende Code könnte beispielsweise eine Datenbank-URL sein:
jdbc:Microsoft:sqlserver://localhost:1433;Databasename=ksinfo
Die URL-Beschreibung der Datenbank verwendet den von Miscrosoft bereitgestellten Mechanismus und den SQLserve-Treiber, um über Port 1433 auf die ksInfo-Datenbank auf dem lokalen Computer zuzugreifen.
Stellen Sie eine Verbindung her. Die Methode getConnection() des DriverManagers baut eine Verbindung auf.
[Beispiel] Beschreiben Sie die statische Methode connectByJdbc(), die eine Verbindung zur Datenbank gemäß der angegebenen Datenbank-URL, dem Benutzernamen und dem Kennwort herstellt. Wenn die Verbindung erfolgreich ist, gibt die Methode „true“ zurück , es gibt false zurück.
public static Connection conectByJdbc(String url, String username, String password){ Connection con = null try{ Class.forName( //Laden Sie den spezifischen Treiber „com.microsoft.jdbc.sqlserver.SQLServerDriver“); ){ e.printStackTrace(); return null; //Verbindung fehlgeschlagen} try{ con = DriverManage.getConnection(url, Benutzername, Passwort); (SQLException e){ e.printStackTrace(); return null; //Verbindung fehlgeschlagen} return con;