Skip to content

3. Anhänge

3.1. Erstellen eines Webprojekts mit Visual Studio.NET unter Windows XP Home Edition

Mit Visual Studio.NET können Sie verschiedene Arten von Projekten erstellen:

Image

Um ein Webanwendungsprojekt zu erstellen, wählen Sie normalerweise den Typ [ASP.NET-Webanwendung]. Dieser Projekttyp erfordert einen lokalen oder Remote-IIS-Webserver. Wenn Sie auf einem Windows XP-Rechner arbeiten, ist dieser Server nicht vorhanden und kann nicht installiert werden. Daher können Sie kein [ASP.NET-Webanwendungsprojekt] erstellen.

Sie können dieses Problem umgehen, indem Sie einige kleinere Einschränkungen in Kauf nehmen. Ganz einfach:

  • Verwenden Sie den Cassini-Webserver anstelle des IIS-Servers. Er ist kostenlos auf der Microsoft-Website verfügbar.
  • ein [Class Library]-Projekt anstelle des [ASP.NET Web Application]-Projekts verwenden

Lassen Sie uns ein einfaches Projekt erstellen, um zu zeigen, wie das geht.

  • Erstellen Sie ein [Class Library]-Projekt
  • Löschen Sie [Class1.vb]

Image

  • Fügen Sie dem Projekt ein neues Element vom Typ [Textdatei] hinzu und nennen Sie es [demo.aspx]:
  • Die Datei [demo.aspx] wird als Webseite erkannt, und ihr wird ein Seiteneditor zugeordnet. Dieser Editor verfügt über zwei Bereiche:
  • [Design] zum grafischen Erstellen der Seite
  • [HTML] für den Zugriff auf den HTML-Code der Seite

Image

  • Wählen Sie [Ansicht/Code], um den VB-Code-Bereich der Seite anzuzeigen. Es passiert nichts. Sie können nicht auf den VB-Code der Seite zugreifen.
  • Wechseln Sie zum [HTML]-Bereich und geben Sie den Code ein, der die Seite [demo.aspx] mit dem Code [demo.aspx.vb] verknüpft:

Image

  • Fordern Sie über [Code anzeigen – F7] den mit der Seite verknüpften Steuerelementcode an. Sie sehen die Datei [demo.aspx.vb]:

Image

  • Die Seite [demo.aspx] wird nun als [.aspx]-Webseite mit einer zugehörigen [.aspx.vb]-Datei erkannt.
  • Kehren Sie zum [Entwurf]-Bereich von [demo.aspx] zurück und entwerfen Sie die folgende Seite:

Image

Die Seite enthält Text und eine Serverkomponente vom Typ [Label] mit der Kennung [lblHeure].

  • Wechseln Sie zum [HTML]-Bereich. Dort finden Sie den folgenden Code:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>

Dieser Code ist aus Sicht der HTML-Syntax unvollständig. Vervollständigen wir ihn:

<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
<html>
    <head>
        <title>démo ASPX</title></head>
    <body>
        Démo ASPX, il est
        <asp:Label id="lblHeure" runat="server"></asp:Label>
    </body>
</html>
  • Öffnen wir die Datei [demo.aspx.vb], um den Steuerungscode zu schreiben, der die Uhrzeit in der Komponente [lblHeure] festlegt. Wir stellen fest, dass dies von IntelliSense, dem Code-Vervollständigungstool, nicht erkannt wird.
  • Schließen Sie [demo.aspx] und [demo.aspx.vb] nach dem Speichern und öffnen Sie sie anschließend erneut. Wechseln Sie zum Code in [demo.aspx.vb]. Diesmal wird die Komponente [lblHeure] aus [demo.aspx] von IntelliSense im Code [demo.aspx.vb] erkannt. Vervollständigen Sie den Code:

Image

  • Erstellen Sie das Projekt, indem Sie [Build/Build demo] auswählen. Wenn die Erstellung erfolgreich ist, wird die DLL im Ordner [bin] des Projekts generiert:

Image

  • Wir sind bereit für den Test. Wir konfigurieren den Cassini-Server (siehe nächster Absatz) wie folgt:

Image

Das Ziel der Verknüpfung zu Cassini wird wie folgt festgelegt:

"E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /path:"D:\temp\07-04-05\demo" /vpath:"/demo"
E:\..\WebServer.exe
der Pfad zur ausführbaren Datei
D:\temp\07-04-05\demo
der Pfad zum Ordner des Visual Studio-Webprojekts
/demo
der zugehörige virtuelle Pfad
  • Starten Sie Cassini. Das Symbol erscheint in der Taskleiste. Klicken Sie mit der rechten Maustaste darauf und wählen Sie die Option [Details anzeigen], um zu überprüfen, ob der Webserver korrekt konfiguriert ist:

Image

  • Rufen Sie die von uns erstellte Seite über einen Browser auf, indem Sie die URL [http://localhost/demo/demo.aspx] eingeben. Wir erhalten das folgende Ergebnis:

Image

Wir haben erfolgreich eine Webanwendung in Visual Studio erstellt unter Verwendung von:

  • ein [Klassenbibliotheks-]Projekt
  • dem Cassini-Webserver

Wir wissen nun, wie man Webanwendungen auf Computern erstellt, auf denen der IIS-Server nicht installiert ist, wie z. B. auf Rechnern mit Windows XP Home Edition.

3.2. Wo finden Sie den Cassini-Webserver?

Um mit der .NET-Plattform von Microsoft zu arbeiten, können Sie den Cassini-Webserver verwenden. Er ist über ein Produkt namens [WebMatrix] verfügbar, eine kostenlose Webentwicklungsumgebung für .NET-Plattformen, die unter folgender URL zu finden ist:

Image

Befolgen Sie die Schritte zur Produktinstallation sorgfältig:

  • Laden Sie die .NET-Plattform herunter und installieren Sie sie (Stand März 2004: 1.1)
  • Laden Sie WebMatrix herunter und installieren Sie es
  • Laden Sie MSDE (Microsoft Data Engine) herunter und installieren Sie es. Dabei handelt es sich um eine eingeschränkte Version von SQL Server.

Sobald die Installation abgeschlossen ist, ist das Produkt [WebMatrix] unter den installierten Programmen verfügbar:

Image

Über den Link [ASP.NET] Web Matrix wird die ASP.NET-Entwicklungsumgebung gestartet:

Image

Der Link [Class Browser] startet ein Tool zum Durchsuchen von .NET-Klassen:

Image

Um die Installation zu testen, starten wir [WebMatrix]:

Beim ersten Start fordert [WebMatrix] Sie auf, die Spezifikationen für das neue Projekt anzugeben. Dies ist die Standardkonfiguration. Sie können das Programm so konfigurieren, dass dieses Dialogfeld beim Start nicht mehr angezeigt wird. Sie können dann über die Option [Datei/Neue Datei] darauf zugreifen. Mit [WebMatrix] können Sie Vorlagen für verschiedene Webanwendungen erstellen. Oben haben wir in (1) angegeben, dass wir eine [ASP.NET-Seite]-Anwendung erstellen möchten, also eine Webseite. In (2) geben wir den Ordner an, in dem diese Webseite abgelegt werden soll. In (3) geben wir den Namen der Seite ein. Er muss die Erweiterung .aspx haben. Schließlich geben wir in (4) an, dass wir mit der Sprache VB.NET arbeiten möchten; [WebMatrix] unterstützt auch die Sprachen C# und J#. Sobald dies erledigt ist, zeigt [WebMatrix] eine Bearbeitungsseite für die Datei [demo1.aspx] an. Dort geben wir den folgenden Code ein:

Image

  • Auf der Registerkarte [Design] können Sie die Webseite, die Sie erstellen möchten, „gestalten“. Dies funktioniert ähnlich wie bei einer IDE zur Entwicklung von Windows-Anwendungen.
  • Das grafische Design der Webseite in [Design] generiert HTML-Code auf der Registerkarte [HTML]
  • Die Webseite kann Steuerelemente enthalten, die Ereignisse generieren, die eine Reaktion erfordern, wie beispielsweise eine Schaltfläche. Diese Ereignisse werden durch VB.NET-Code behandelt, der auf der Registerkarte [Code] platziert wird
  • Letztendlich ist die Datei „demo1.aspx“ eine Textdatei, die HTML-Code und VB.NET-Code kombiniert und aus dem in [Design] erstellten grafischen Entwurf, dem manuell in [HTML] hinzugefügten HTML-Code und dem in [Code] platzierten VB.NET-Code resultiert. Die gesamte Datei ist auf der Registerkarte [All] verfügbar.
  • Ein erfahrener ASP.NET-Entwickler kann die Datei „demo1.aspx“ direkt mit einem Texteditor erstellen, ohne auf eine IDE zurückgreifen zu müssen.

Wählen wir die Option [All] aus. Wir sehen, dass [WebMatrix] bereits etwas Code generiert hat:

<%@ Page Language="VB" %>
<script runat="server">

    ' Insert page code here
    '

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
         <!-- Insert content here -->
    </form>
</body>
</html>

Wir werden hier nicht versuchen, diesen Code zu erklären. Wir werden ihn wie folgt umwandeln:

<html>
<head>
    <title>Démo asp.net </title>
</head>
<body>
    Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>

Der obige Code ist eine Mischung aus HTML- und VB.NET-Code. Er wurde innerhalb der Tags <% ... %> platziert. Um diesen Code auszuführen, verwenden wir die Option [Ansicht/Starten]. [WebMatrix] startet dann den Cassini-Webserver, falls dieser noch nicht läuft

Image

Sie können die in diesem Dialogfeld angebotenen Standardwerte übernehmen und die Option [Start] auswählen. Der Webserver ist dann aktiv. [WebMatrix] startet daraufhin den Standardbrowser auf dem Rechner, auf dem es ausgeführt wird, und ruft die URL http://localhost:8080/demo1.aspx auf:

Image

Es ist möglich, den Cassini-Server außerhalb von [WebMatrix] zu verwenden. Die ausführbare Datei des Servers befindet sich unter <WebMatrix>\<version>\WebServer.exe, wobei <WebMatrix> das Installationsverzeichnis von [WebMatrix] und <version> die Versionsnummer ist:

Image

Öffnen Sie ein Eingabeaufforderungsfenster und wechseln Sie in den Ordner des Cassini-Servers:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003  11:00               53 248 WebServer.exe
...

Führen wir [WebServer.exe] ohne Parameter aus:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver

Es erscheint ein Hilfefenster:

Image

Die Anwendung [WebServer], auch bekannt als Cassini-Webserver, akzeptiert drei Parameter:

  • /port: Portnummer des Webdienstes. Kann eine beliebige Zahl sein. Der Standardwert ist 80
  • /path: der physische Pfad zu einem Ordner auf der Festplatte
  • /vpath: der virtuelle Ordner, der dem vorangehenden physischen Ordner zugeordnet ist. Beachten Sie, dass die Syntax nicht /path=path lautet, sondern /vpath:path, entgegen der Angabe im [Beispiel] im obigen Hilfefenster.

Legen wir die Datei [demo1.aspx] im folgenden Ordner ab:

Image

Ordnen wir den virtuellen Ordner [/webmatrix] dem physischen Ordner [d:\data\devel\webmatrix] zu. Der Webserver könnte wie folgt gestartet werden:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"

Der Cassini-Server ist nun aktiv, und sein Symbol wird in der Taskleiste angezeigt. Wenn Sie darauf doppelklicken:

Image

Sie sehen die Starteinstellungen des Servers. Außerdem haben Sie die Möglichkeit, den Webserver anzuhalten [Stopp] oder neu zu starten [Neustart]. Wenn Sie auf den Link [Root-URL] klicken, wird die Stammverzeichnisebene des Webverzeichnisbaums des Servers in einem Browser geöffnet:

Image

Folgen Sie dem Link [demos]:

Image

dann den Link [demo1.aspx]:

Image

Wir sehen, dass, wenn der physische Ordner P=[d:\data\devel\webmatrix] dem virtuellen Ordner V=[/webmatrix] zugeordnet wurde und der Server auf Port 100 läuft, ist die Webseite [demo1.aspx], die sich physisch in [P\demos] befindet, lokal über die URL [http://localhost:100/V/demos/demo1.aspx] erreichbar.

Um zu vermeiden, dass Sie ein DOS-Fenster verwenden müssen, um den Cassini-Server zu starten, können Sie eine Verknüpfung zur ausführbaren Datei des Servers mit folgenden Eigenschaften erstellen:

Image

Ziel
"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /port:80 /path:"D:\data\serge\work\2004-2005\aspnet\webarticles-010405\version3\web" /vpath:"/webarticles"
Starten in
"C:\Programme\Microsoft ASP.NET Web Matrix\v0.6.812"

3.3. Wo finde ich Spring?

Die Hauptwebsite von Spring ist [http://www.springframework.org/]. Dies ist die Seite für die Java-Version. Die derzeit in Entwicklung befindliche .NET-Version (Stand: April 2005) ist unter [http://www.springframework.net/] verfügbar.

Image

Die Download-Seite befindet sich auf [SourceForge]:

Image

Sobald Sie die oben genannte ZIP-Datei heruntergeladen haben, entpacken Sie sie:

Image

In diesem Dokument haben wir nur den Inhalt des Ordners [bin] verwendet:

Image

In einem Visual Studio-Projekt, das Spring verwendet, müssen Sie immer zwei Dinge tun:

  • die oben genannten Dateien im [bin]-Ordner des Projekts ablegen
  • dem Projekt einen Verweis auf die Assembly [Spring.Core.dll] hinzufügen

3.4. Wo finden Sie NUnit?

Die offizielle NUnit-Website ist [http://www.nunit.org/]. Die im April 2005 verfügbare Version ist 2.2.0:

Image

Laden Sie diese Version herunter und installieren Sie sie. Bei der Installation wird ein Ordner erstellt, der die grafische Testschnittstelle enthält:

Der interessante Teil befindet sich im Ordner [bin]:

Image

Image

Der Pfeil oben zeigt auf das grafische Testprogramm. Durch die Installation wurden außerdem neue Elemente zum Visual Studio-Assembly-Repository hinzugefügt, die wir uns nun ansehen werden.

Erstellen wir das folgende Visual Studio-Projekt:

Image

Die zu testende Klasse befindet sich in [Person.vb]:

Public Class Personne

    ' private fields
    Private _nom As String
    Private _age As Integer

    ' default builder
    Public Sub New()
    End Sub

    ' properties associated with private fields
    Public Property nom() As String
        Get
            Return _nom
        End Get
        Set(ByVal Value As String)
            _nom = Value
        End Set
    End Property

    Public Property age() As Integer
        Get
            Return _age
        End Get
        Set(ByVal Value As Integer)
            _age = Value
        End Set
    End Property

    ' identity chain
    Public Overrides Function tostring() As String
        Return String.Format("[{0},{1}]", nom, age)
    End Function

    ' init method
    Public Sub init()
        Console.WriteLine("init personne {0}", Me.ToString)
    End Sub

    ' close method
    Public Sub close()
        Console.WriteLine("destroy personne {0}", Me.ToString)
    End Sub

End Class

Die Testklasse befindet sich in [NunitTestPersonne-1.vb]:

Imports System
Imports NUnit.Framework

<TestFixture()> _
 Public Class NunitTestPersonne

    ' object tested
    Private personne1 As Personne

    <SetUp()> _
    Public Sub init()
        ' create an instance of Person
        personne1 = New Personne
        ' log
        Console.WriteLine("setup test")
    End Sub

    <Test()> _
    Public Sub demo()
        ' log screen
        Console.WriteLine("début test")
        ' init person1
        With personne1
            .nom = "paul"
            .age = 10
        End With
        ' tests
        Assert.AreEqual("paul", personne1.nom)
        Assert.AreEqual(10, personne1.age)
        ' log screen
        Console.WriteLine("fin test")
    End Sub

    <TearDown()> _
    Public Sub destroy()
        ' follow-up
        Console.WriteLine("teardown test")
    End Sub

End Class

Einige Dinge sind zu beachten:

  • Methoden werden Attribute wie <Setup()>, <TearDown()> usw. zugewiesen
  • Damit diese Attribute erkannt werden, muss Folgendes zutreffen:
    • Das Projekt verweist auf die Assembly [nunit.framework.dll]
    • Die Testklasse importiert den Namespace [NUnit.Framework]

Die Referenz wird hinzugefügt, indem man im Projektmappen-Explorer mit der rechten Maustaste auf [Referenzen] klickt:

Image

Die Assembly [nunit.framework.dll] sollte in der Liste aufgeführt sein, wenn die Installation von [NUnit] erfolgreich war. Doppelklicken Sie einfach auf die Assembly, um sie dem Projekt hinzuzufügen:

Image

Sobald dies erledigt ist, muss die Testklasse [NunitTestPersonne] den Namespace [NUnit.Framework] importieren:

Imports NUnit.Framework

Die Attribute der Testklasse [NunitTestPersonne] sollten dann erkannt werden.

  • Das Attribut <Test()> kennzeichnet eine zu testende Methode
  • Das Attribut <Setup()> kennzeichnet die Methode, die vor jeder zu testenden Methode ausgeführt werden soll
  • Das Attribut <TearDown()> bezeichnet die Methode, die nach jeder zu testenden Methode ausgeführt werden soll
  • Mit der Methode Assert.AreEqual können Sie die Gleichheit zweier Entitäten testen. Es gibt viele weitere Methoden vom Typ Assert.xx.
  • Das NUnit-Dienstprogramm stoppt die Ausführung einer getesteten Methode, sobald eine [Assert]-Methode fehlschlägt, und zeigt eine Fehlermeldung an. Andernfalls wird eine Erfolgsmeldung angezeigt.

Konfigurieren wir unser Projekt so, dass eine DLL generiert wird:

Image

Die generierte DLL erhält den Namen [nunit-demos-1.dll] und wird standardmäßig im Ordner [bin] des Projekts abgelegt. Erstellen wir unser Projekt. Im Ordner [bin] finden wir Folgendes:

Image

Starten wir nun das grafische Testprogramm von NUnit. Denken Sie daran, dass es sich in <Nunit>\bin befindet und den Namen [nunit-gui.exe] trägt. <Nunit> bezieht sich auf den Installationsordner [Nunit]. Es erscheint die folgende Benutzeroberfläche:

Image

Verwenden wir die Menüoption [Datei/Öffnen], um die DLL [nunit-demos-1.dll] aus unserem Projekt zu laden:

Image

[Nunit] kann die in der geladenen DLL enthaltenen Testklassen automatisch erkennen. Hier findet es die Klasse [NunitTestPersonne]. Anschließend werden alle Methoden der Klasse angezeigt, die das Attribut <Test()> tragen. Mit der Schaltfläche [Ausführen] können Sie die Tests für das ausgewählte Objekt ausführen. Handelt es sich dabei um die Klasse [NunitTestPersonne], werden alle angezeigten Methoden getestet. Sie können eine bestimmte Methode testen, indem Sie sie auswählen und auf [Run] klicken. Lassen Sie uns die Klasse ausführen:

Image

Ein erfolgreicher Test einer Methode wird durch einen grünen Punkt neben der Methode im linken Fenster angezeigt. Ein fehlgeschlagener Test wird durch einen roten Punkt angezeigt.

Das Fenster [Console.Out] auf der rechten Seite zeigt die Bildschirmausgabe der getesteten Methoden an. Hier wollten wir den Fortschritt eines Tests verfolgen:

1
2
3
4
setup test
début test
fin test
teardown test
  • Zeile 1 zeigt, dass die Attributmethode <Setup()> vor dem Test ausgeführt wird
  • Die Zeilen 2–3 werden von der zu testenden [demo]-Methode generiert (siehe den Code oben)
  • Zeile 4 zeigt, dass die Attributmethode <TearDown()> nach dem Test ausgeführt wird

3.5. Wo finde ich das DBMS Firebird ?

Die Hauptwebsite von Firebird ist [http://firebird.sourceforge.net/]. Die Download-Seite bietet die folgenden Links (Stand: April 2005):

Image

Sie laden die folgenden Elemente herunter:

firebird-win32
das DBMS für Windows
firebird-net-provider
eine Klassenbibliothek für .NET-Anwendungen, die den Zugriff auf das DBMS ohne Verwendung eines ODBC-Treibers ermöglicht.
firebird-ODBC-Treiber
der Firebird-ODBC-Treiber

Installieren Sie diese Komponenten. Das DBMS wird in einem Ordner installiert, dessen Inhalt in etwa wie folgt aussieht:

Image

Die Binärdateien befinden sich im Ordner [bin]:

Image

fbguard.exe
ermöglicht es Ihnen, das DBMS zu starten/zu stoppen
isql.exe
Befehlszeilen-Client zur Verwaltung von Datenbanken

Beachten Sie, dass der DBMS-Administrator standardmäßig [SYSDBA] heißt und das Passwort [masterkey] lautet. Unter [Start] wurden Menüs hinzugefügt:

Image

Über die Option [Firebird Guardian] können Sie das DBMS starten/beenden. Nach dem Start bleibt das DBMS-Symbol in der Windows-Taskleiste:

Um Firebird-Datenbanken mit dem Befehlszeilen-Client [isql.exe] zu erstellen und zu verwalten, müssen Sie die im [doc]-Ordner enthaltene Dokumentation lesen. Eine schnellere Möglichkeit, mit Firebird zu arbeiten, ist die Verwendung eines grafischen Clients. Ein solcher Client ist IB-Expert, der im folgenden Abschnitt beschrieben wird.

3.6. Wo finde ich IB- -Expert?

Die offizielle Firebird-Website lautet [http://www.ibexpert.com/]. Die Download-Seite bietet die folgenden Links:

Image

Wählen Sie die kostenlose Version [Personal Edition]. Nach dem Herunterladen und der Installation verfügen Sie über einen Ordner, der in etwa wie folgt aussieht:

Image

Die ausführbare Datei heißt [ibexpert.exe]. Im [Start]-Menü ist in der Regel eine Verknüpfung vorhanden:

Image

Nach dem Start zeigt IBExpert das folgende Fenster an:

Image

Verwenden Sie die Option [Datenbank/Datenbank erstellen], um eine Datenbank zu erstellen:

Image

Server
kann [lokal] oder [remote] sein. In diesem Fall befindet sich unser Server auf demselben Rechner wie [IBExpert]. Daher wählen wir [lokal]
Datenbank
Verwenden Sie die Schaltfläche [Ordner] im Dropdown-Menü, um die Datenbankdatei auszuwählen. Firebird speichert die gesamte Datenbank in einer einzigen Datei. Dies ist einer seiner Vorteile. Sie können die Datenbank von einem Computer auf einen anderen übertragen, indem Sie die Datei einfach kopieren. Die Endung [.gdb] wird automatisch hinzugefügt.
Benutzername
SYSDBA ist der Standardadministrator für aktuelle Firebird-Distributionen
Passwort
masterkey ist das Passwort für den SYSDBA-Administrator in aktuellen Firebird-Distributionen
Dialekt
Der zu verwendende SQL-Dialekt
Datenbank registrieren
Wenn dieses Kontrollkästchen aktiviert ist, zeigt IBExpert nach der Erstellung der Datenbank einen Link zu dieser an

Wenn beim Klicken auf die Schaltfläche [OK] zum Erstellen der Datenbank die folgende Warnung angezeigt wird:

Image

bedeutet dies, dass Sie Firebird noch nicht gestartet haben. Starten Sie es. Es erscheint ein neues Fenster:

Image

Server-Version
[IBExpert] kann verschiedene von Interbase abgeleitete DBMS verwalten. Wählen Sie die Version von Firebird aus, die Sie installiert haben

Image

Sobald Sie dieses neue Fenster durch Klicken auf [Registrieren] bestätigen, sehen Sie das folgende Ergebnis:

Image

Um auf die erstellte Datenbank zuzugreifen, doppelklicken Sie einfach auf den entsprechenden Link. IBExpert zeigt dann eine Baumansicht an, über die Sie Zugriff auf die Eigenschaften der Datenbank haben:

Image

Erstellen wir eine Tabelle. Klicken Sie mit der rechten Maustaste auf [Tabellen] und wählen Sie die Option [Neue Tabelle]. Das Fenster zur Definition der Tabelleneigenschaften wird angezeigt:

Beginnen wir damit, die Tabelle über das Eingabefeld [1] mit dem Namen [ARTICLES] zu versehen:

Verwenden Sie das Eingabefeld [2], um einen Primärschlüssel [ID] zu definieren:

Ein Feld wird durch Doppelklick auf das Feld [PK] (Primärschlüssel) zum Primärschlüssel gemacht. Fügen wir nun über die Schaltfläche [3] Felder hinzu:

Image

Solange wir unsere Definition nicht „kompiliert“ haben, wird die Tabelle nicht erstellt. Klicken Sie oben auf die Schaltfläche [Kompilieren], um die Tabellendefinition abzuschließen. IBExpert bereitet die SQL-Abfragen zur Erstellung der Tabelle vor und fordert Sie zur Bestätigung auf:

Image

Interessanterweise zeigt IBExpert die ausgeführten SQL-Abfragen an. So können Sie sowohl die SQL-Sprache als auch etwaige proprietäre SQL-Dialekte erlernen, die möglicherweise verwendet werden. Die Schaltfläche [Commit] bestätigt die aktuelle Transaktion, während [Rollback] sie abbricht. Hier bestätigen wir sie durch Klicken auf [Commit]. Sobald dies geschehen ist, fügt IBExpert die erstellte Tabelle zu unserer Datenbankstruktur hinzu:

Image

Durch Doppelklicken auf die Tabelle können wir auf ihre Eigenschaften zugreifen:

Image

Über das Fenster [Constraints] können wir der Tabelle neue Integritätsbeschränkungen hinzufügen. Öffnen wir es:

Image

Wir sehen die von uns erstellte Primärschlüsselbeschränkung. Wir können weitere Beschränkungen hinzufügen:

  • Fremdschlüssel [Foreign Keys]
  • Feldintegritätsbeschränkungen [Checks]
  • Eindeutigkeitsbeschränkungen für Felder [Uniques]

Beachten Sie Folgendes:

  • Die Felder [ID, PRICE, CURRENTSTOCK, MINIMUMSTOCK] müssen größer als 0 sein
  • das Feld [NAME] darf nicht leer sein und muss eindeutig sein

Öffnen Sie das Fenster [Checks] und klicken Sie mit der rechten Maustaste in den Bereich für die Definition von Einschränkungen, um eine neue Einschränkung hinzuzufügen:

Image

Definieren wir nun die gewünschten Einschränkungen:

Image

Beachten Sie oben, dass die Einschränkung [NAME<>''] zwei einfache Anführungszeichen verwendet, keine doppelten. Kompilieren Sie diese Einschränkungen über die Schaltfläche [Compile] oben:

Image

Erneut beweist IBExpert seine Benutzerfreundlichkeit, indem es die ausgeführten SQL-Abfragen anzeigt. Wechseln wir nun zum Bereich [Constraints/Unique], um festzulegen, dass der Name eindeutig sein muss:

Image

Definieren wir die Einschränkung:

Image

Kompilieren wir sie. Sobald dies erledigt ist, öffnen Sie das [DDL]-Fenster für die Tabelle [ARTICLES]:

Image

In diesem Fenster wird der SQL-Code zur Erstellung der Tabelle mit all ihren Einschränkungen angezeigt. Sie können diesen Code in einem Skript speichern, um ihn später auszuführen:

SET SQL DIALECT 3;
SET NAMES NONE;
CREATE TABLE ARTICLES (
    ID            INTEGER NOT NULL,
    NOM           VARCHAR(20) NOT NULL,
    PRIX          DOUBLE PRECISION NOT NULL,
    STOCKACTUEL   INTEGER NOT NULL,
    STOCKMINIMUM  INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);

Nun ist es an der Zeit, Daten in die Tabelle [ARTICLES] einzugeben. Verwenden Sie dazu das [Daten]-Fenster:

Image

Die Daten werden durch Doppelklick auf die Eingabefelder der einzelnen Zeilen in der Tabelle eingegeben. Eine neue Zeile wird über die Schaltfläche [+] hinzugefügt, eine Zeile wird über die Schaltfläche [-] gelöscht. Diese Vorgänge werden innerhalb einer Transaktion ausgeführt, die über die Schaltfläche [Transaktion festschreiben] bestätigt wird. Ohne diese Bestätigung gehen die Daten verloren.

Mit IBExpert können Sie SQL-Abfragen über die Option [Tools/SQL Editor] oder [F12] ausführen. Dadurch erhalten Sie Zugriff auf einen erweiterten SQL-Abfrage-Editor, in dem Sie Abfragen ausführen können. Diese werden gespeichert, sodass Sie eine bereits ausgeführte Abfrage erneut aufrufen können. Hier ein Beispiel:

Image

Wir führen die SQL-Abfrage über die Schaltfläche [Execute] oben aus. Wir erhalten das folgende Ergebnis:

Image

Wir beenden unsere Demonstrationen an dieser Stelle. Die Kombination aus IBExpert und Firebird erweist sich als hervorragend geeignet, um sich mit Datenbanken vertraut zu machen.

3.7. Installation und Verwendung eines ODBC-Treibers für [Firebird]

3.8. Installation des Treibers

Über den Link [firebird-odbc-provider] auf der [Firebird]-Downloadseite (Abschnitt 3.5) können Sie einen ODBC-Treiber herunterladen. Nach der Installation wird dieser in der Liste der installierten ODBC-Treiber angezeigt.

3.9. Erstellen Sie eine ODBC-Datenquelle

  • Starten Sie das Tool [Start -> Einstellungen -> Konfigurationstool -> Verwaltung -> ODBC-Datenquellen]:

Image

  • Das folgende Fenster wird angezeigt:

Image

  • Klicken Sie auf [Hinzufügen], um eine neue Systemdatenquelle (im Bereich [System-DSN]) hinzuzufügen, die wir mit der Firebird-Datenbank verknüpfen werden, die wir im vorherigen Abschnitt erstellt haben:

Image

  • Zunächst müssen wir den zu verwendenden ODBC-Treiber angeben. Oben wählen wir den Treiber für Firebird aus und klicken dann auf [Fertigstellen]. Der Firebird-ODBC-Treiber-Assistent übernimmt dann die weitere Vorgehensweise:

Image

  • Wir füllen die verschiedenen Felder aus:

Image

DSN [demo-odbc-firebird]
der DSN-Name der ODBC-Quelle – kann beliebig sein
Datenbank [D:\..\DBARTICLES.GDB]
Der Name der zu verwendenden Firebird-Datenbank – verwenden Sie [Durchsuchen], um die entsprechende .gbd-Datei auszuwählen
Datenbankkonto [SYSDBA]
Der Benutzername, der für die Verbindung zur Datenbank verwendet werden soll
Passwort [masterkey]
das zu diesem Benutzernamen gehörende Passwort

Mit der Schaltfläche [Verbindung testen] können Sie die Richtigkeit der eingegebenen Informationen überprüfen. Starten Sie vor der Verwendung das DBMS [Firebird]:

Image

  • Bestätigen Sie den ODBC-Assistenten, indem Sie so oft wie nötig auf [OK] klicken

3.10. Testen Sie die ODBC-Quelle

Es gibt verschiedene Möglichkeiten, um zu überprüfen, ob eine ODBC-Quelle ordnungsgemäß funktioniert. Hier verwenden wir Excel:

Image

  • Verwenden Sie die oben genannte Option [Daten -> Externe Daten -> Abfrage erstellen]. Dadurch wird das erste Fenster des Assistenten zur Definition der Datenquelle geöffnet. Im Bereich [Datenbanken] werden die derzeit auf dem Rechner definierten ODBC-Quellen aufgelistet:

Image

  • Wählen Sie die soeben erstellte ODBC-Quelle [odbc-firebird-articles] aus und fahren Sie mit dem nächsten Schritt fort, indem Sie auf [OK] klicken:

Image

  • In diesem Fenster werden die in der ODBC-Quelle verfügbaren Tabellen und Spalten aufgelistet. Wir wählen die gesamte Tabelle aus:

Image

  • Fahren Sie mit dem nächsten Schritt fort, indem Sie auf [Weiter] klicken:

Image

  • In diesem Schritt können wir die Daten filtern. Hier werden wir nichts filtern und mit dem nächsten Schritt fortfahren:

Image

  • In diesem Schritt können wir die Daten sortieren. Wir werden dies nicht tun und fahren mit dem nächsten Schritt fort:

Image

  • Im letzten Schritt werden wir gefragt, was wir mit den Daten machen möchten. Hier exportieren wir sie nach Excel:

Image

  • Hier fragt Excel, wo wir die abgerufenen Daten ablegen möchten. Wir legen sie im aktiven Arbeitsblatt beginnend mit Zelle A1 ab. Die Daten werden dann in das Excel-Arbeitsblatt übernommen:

Image

Es gibt noch andere Möglichkeiten, die Gültigkeit einer ODBC-Quelle zu testen. Sie können beispielsweise die kostenlose OpenOffice-Suite verwenden, die unter [http://www.openoffice.org] verfügbar ist. Hier ist ein Beispiel für die Verwendung von OpenOffice:

  • Über ein Symbol auf der linken Seite des OpenOffice-Fensters gelangen Sie zu den Datenquellen. Die Benutzeroberfläche wechselt daraufhin und zeigt einen Bereich zur Verwaltung der Datenquellen an:

Image

  • Eine Datenquelle ist vordefiniert: die Quelle [Bibliografie]. Durch einen Rechtsklick auf den Datenquellenbereich können Sie über die Option [Datenquellen verwalten] eine neue Datenquelle erstellen:

Image

  • Über den Assistenten [Datenquellenverwaltung] können Sie Datenquellen erstellen. Durch einen Rechtsklick auf den Datenquellenbereich können Sie über die Option [Neue Datenquelle] eine neue Datenquelle erstellen:

Image

Name [odbc-firebird-articles]
Beliebiger Name. Hier haben wir den Namen der ODBC-Quelle verwendet
DB-Typ [odbc]
OpenOffice unterstützt verschiedene Datenbanktypen über JDBC, ODBC oder direkt (MySQL, Dbase usw.). Wählen Sie für unser Beispiel „ODBC“
Datenquellen-URL
Über die Schaltfläche rechts neben dem Eingabefeld gelangen wir zur Liste der ODBC-Quellen auf dem Rechner. Wir wählen die Quelle [odbc-firebird-articles] aus.
  • Wir wechseln zum [ODBC]-Fenster, um den Benutzer zu definieren, unter dessen Anmeldedaten die Verbindung hergestellt werden soll:

Image

Benutzername [sysdba]
Der Eigentümer der ODBC-Quelle
  • Wechseln Sie zum Bereich [Tabellen]. Sie werden zur Eingabe des Passworts aufgefordert. Hier lautet es [masterkey]:

Image

  • Klicken Sie auf [OK]. Daraufhin wird die Liste der Tabellen in der ODBC-Quelle angezeigt:

Image

  • Sie können die Tabellen auswählen, die im [OpenOffice]-Dokument angezeigt werden sollen. Hier wählen wir die Tabelle [ARTICLES] aus und klicken auf [OK]. Die Definition der Datenquelle ist abgeschlossen. Sie erscheint nun in der Liste der Datenquellen für das aktive Dokument:

Image

  • Sie können die Tabelle [ARTICLES] mit der Maus aus der Liste in das [OpenOffice]-Dokument ziehen:

Image

3.11. Verbindungszeichenfolge für eine Firebird-ODBC-Quelle

  • Starten Sie Visual Studio und öffnen Sie den Server-Explorer [Ansicht/Server-Explorer]:
  • Klicken Sie mit der rechten Maustaste auf [Datenverbindung] und wählen Sie die Option [Verbindung hinzufügen]:

Image

  • Geben Sie im Bereich [Anbieter] an, dass Sie eine ODBC-Quelle verwenden möchten (siehe oben), und wechseln Sie dann zum Bereich [Verbindung]:

Image

Datenquellennamen verwenden
[demo-odbc-firebird]
Wählen Sie die ODBC-Quelle aus dem Dropdown-Menü aus. Die soeben erstellte Quelle sollte angezeigt werden. Verwenden Sie bei Bedarf [Aktualisieren], um die Liste der ODBC-Quellen zu aktualisieren.
Benutzername [SYSDBA]
Benutzername für die Verbindung zur Datenbank
Passwort [masterkey]
Das zu diesem Benutzernamen gehörende Passwort

Auch hier können Sie über die Schaltfläche [Verbindung testen] die Richtigkeit der Angaben überprüfen:

Image

  • Bestätigen Sie den Assistenten, indem Sie auf [OK] klicken. Die Datenquelle wird dann im Fenster [Server Explorer] in Visual Studio angezeigt:

Image

  • Durch Doppelklicken auf die Tabelle [ARTICLES] können Sie auf die Daten der Tabelle zugreifen:

Image

  • Wenn wir mit der rechten Maustaste auf den Link [Firebird Server D:\temp\... ] klicken und die Option [Eigenschaften] auswählen, können wir auf die Verbindungseigenschaften zugreifen:

Image

  • Die Eigenschaft [ConnectString] ist wichtig, da der .NET-Code sie benötigt, um eine Verbindung zur Datenbank herzustellen. Hier lautet die Verbindungszeichenfolge:
Provider=MSDASQL.1;Persist Security Info=False;User ID=SYSDBA;Data Source=demo-odbc-firebird;Extended Properties="DSN=demo-odbc-firebird;Driver=Firebird/InterBase(r) driver;Dbname=D:\temp\07-04-05\firebird\DBARTICLES.GDB;CHARSET=NONE;UID=SYSDBA"

Viele Elemente dieser Verbindungszeichenfolge haben Standardwerte. Die folgende Verbindungszeichenfolge ist ausreichend:

"DSN=demo-odbc-firebird;UID=SYSDBA;PASSWORD=masterkey"

Damit ist unser Überblick über den [Firebird]-ODBC-Treiber abgeschlossen.

3.12. Wo finden Sie die MSDE- ?

MSDE ist die kostenlose Version des Datenbankmanagementsystems SQL Server von Microsoft. Sie finden es unter der URL [http://www.microsoft.com/sql/msde/downloads/download.asp]:

Laden Sie die Installationsdatei herunter und installieren Sie das DBMS durch Doppelklick auf die heruntergeladene ausführbare Datei. In einem Fenster werden Sie nach dem Installationsordner gefragt. Der Titel ist irreführend. Es handelt sich um einen temporären Ordner, der später gelöscht werden kann:

Lesen Sie die Datei [ReadmeMSDE2000A.htm] sorgfältig durch. Das Installationsprogramm ist die oben genannte Datei [setup.exe]. Es wird über die Befehlszeile ausgeführt, sodass Sie ihm Parameter übergeben können. Die wichtigsten sind die folgenden:

Parameter
Beschreibung

SAPWD="StrongPassword"
Gibt ein sicheres Passwort an, das dem Administrator-Login „sa“ zugewiesen werden soll.

INSTANCENAME="InstanceName"
Definiert den Instanznamen. Wenn INSTANCENAME nicht angegeben wird, installiert das Installationsprogramm eine Standardinstanz.

Weitere Parameter, die häufig zur Anpassung einer Installation verwendet werden, sind:

Parameter
Beschreibung
DISABLENETWORKPROTOCOLS=n
Gibt an, ob die Instanz Netzwerkverbindungen von Anwendungen akzeptiert, die auf anderen Computern ausgeführt werden. Standardmäßig oder wenn Sie DISABLENETWORKPROTOCOLS=1 angeben, konfiguriert das Installationsprogramm die Instanz so, dass Netzwerkverbindungen abgelehnt werden. Geben Sie DISABLENETWORKPROTOCOLS=0 an, um Netzwerkverbindungen zu aktivieren.
SECURITYMODE=SQL
Gibt an, dass die Instanz im gemischten Modus installiert werden soll, was bedeutet, dass die Instanz sowohl die Windows-Authentifizierung als auch die SQL-Authentifizierung für Verbindungen unterstützt

DATADIR="Pfad_zum_Datenordner"
Gibt den Ordner an, in dem das Installationsprogramm die Systemdatenbanken, Fehlerprotokolle und Installationsskripte installiert. Der für data_folder_path angegebene Wert muss mit einem Backslash (\) enden. Bei einer Standardinstanz hängt das Installationsprogramm MSSQL\ an den angegebenen Wert an. Bei einer benannten Instanz hängt der Installer „MSSQL$InstanceName\“ an, wobei „InstanceName“ der über den Parameter INSTANCENAME angegebene Wert ist. Der Installer erstellt an dem angegebenen Speicherort drei Ordner: einen Datenordner, einen Protokollordner und einen Skriptordner.

TARGETDIR="executable_folder_path"
Gibt den Ordner an, in dem das Installationsprogramm die ausführbaren MSDE 2000-Dateien installiert. Der für executable_folder_path angegebene Wert muss mit einem Backslash (\) enden. Bei einer Standardinstanz hängt das Installationsprogramm MSSQL\Binn an den angegebenen Wert an. Bei einer benannten Instanz hängt das Installationsprogramm „MSSQL$InstanceName\Binn“ an, wobei „InstanceName“ der über den Parameter „INSTANCENAME“ angegebene Wert ist.

Nachdem Sie die obigen Installationsempfehlungen gelesen haben, wechseln Sie in den Ordner, in den die Installationsdateien extrahiert wurden, und geben Sie den folgenden DOS-Befehl ein (bei Verwendung des DBMS ohne Netzwerk):

dos>setup INSTANCENAME="MSDE140405" SECURITYMODE=SQL SAPWD="azerty"
  • INSTANCENAME="MSDE140405" – dies ist der Name unserer MSDE-Instanz. Sie können mehrere Instanzen installieren.
  • SECURITYMODE=SQL – das DBMS wird im gemischten Authentifizierungsmodus ausgeführt. Dadurch können Sie auf zwei Arten eine Verbindung zu MSDE herstellen:
    • mit einem Windows-Administratorkonto
    • mit einem MSDE-Konto – hierfür sind ein Benutzername und ein Passwort erforderlich. Dies ist der Modus, der in einem Programm verwendet werden sollte, das eine Verbindung zu einer Datenbank herstellt.
  • SAPWD="azerty" – dies ist das Passwort für den DBMS-Benutzer [sa]. Der Benutzer [sa] verfügt über Administratorrechte für das DBMS.

Um das DBMS in einem Netzwerk zu nutzen, würden Sie den folgenden Befehl ausführen:

dos>setup INSTANCENAME="MSDE140405" SECURITYMODE=SQL SAPWD="azerty" DISABLENETWORKPROTOCOLS=0

Das Installationsprogramm ist minimalistisch und läuft ohne jegliche Ausgabe ab... Sie können jedoch über die Option [Startmenü -> Systemsteuerung -> Programme hinzufügen oder entfernen] überprüfen, ob das DBMS installiert wurde:

Image

Die Installation erfolgt normalerweise unter C:\Programme\Microsoft SQL Server\MSSQL$instanceName:

Im Ordner [LOG] innerhalb des Installationsverzeichnisses finden Sie die Protokolldatei für die DBMS-Installationsphase. Sie enthält eine wichtige Information: den Namen der MSDE-Instanz:

2005-04-14 08:14:29.37 spid4     Le nom du serveur est «PORTABLE1_TAHE\MSDE140405».

Es ist wichtig, diesen Namen zu kennen, da alle DBMS-Clients ihn benötigen. Falls diese Protokolle fehlen, können Sie den Namen eines MSDE-Servers ermitteln, der wie folgt lautet: [windows_machine\MSDE_instance_name]. Der Rechnername ist an mehreren Stellen zu finden. Zum Beispiel:

  • Klicken Sie mit der rechten Maustaste auf [Arbeitsplatz] auf dem Desktop, wählen Sie [Eigenschaften] und dann die Registerkarte [Computername]:

Image

Wir wissen immer noch nicht, wie man den MSDE-Server startet. Normalerweise befindet sich eine Verknüpfung unter [Start/Autostart].

Image

Wenn Sie sich die Eigenschaften dieser Verknüpfung ansehen, werden Sie feststellen, dass das Ziel wie folgt lautet:

"C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlmangr.exe" /n

Im Ordner [C:\Program Files\Microsoft SQL Server] befinden sich folgende Unterordner:

Image

  • MSSQL$MSDE140405 ist der Ordner für die soeben installierte MSDE-Instanz.
  • MSSQL ist der Ordner für eine frühere MSDE-Instanz. Da er keinen Namen hat, nennen wir ihn die Standardinstanz.
  • Der Ordner [80] ist ein gemeinsamer Ordner für die verschiedenen installierten MSDE-Instanzen. Das Ziel [sqlmangr.exe] der Verknüpfung, die eine MSDE-Instanz startet, befindet sich im Ordner [80\Tools\Binn].
Starten wir MSDE über die Verknüpfung unter [Start -> Programme -> Autostart]. Es passiert fast nichts, außer dass ein Symbol in der Taskleiste erscheint:
Doppelklicken Sie auf dieses Symbol:
Der hier angezeigte MSDE-Server ist der Standard-Server
[PORTABLE1_TAHE] auf dem Rechner. Beachten Sie, dass
der von uns installierte MSDE-Server den Namen
[PORTABLE1_TAHE\MSDE140405] heißt. Wir ändern den
Servernamen im entsprechenden Feld:
Wenn alles gut geht, sollte die Instanz [MSDE140405] gestartet werden:

Wir können eine erste Überprüfung durchführen. Im selben Ordner wie [sqlmangr.exe] befindet sich ein Konsolen-Client [osql.exe], mit dem Sie eine Verbindung zu einem MSDE-Server herstellen und SQL-Befehle ausführen können. Bei der Installation haben wir dem Administrator [sa] unseres MSDE-Servers das Passwort [azerty] zugewiesen. Mit dem Konsolen-Client stellen wir eine Verbindung zum neu installierten Server her. Wenn wir den Befehl [osql -?] ausführen, wird die Liste der möglichen Parameter angezeigt:

C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -?
utilisation : osql
  [-U ID de connexion]
  [-P mot de passe]
  [-S serveur]
  [-H nom de l'host]
  [-E connexion approuvée]
  [-d utiliser le nom de la base de données]
  [-l limite du temps de connexion]
  [-t limite du temps de requête]
  [-h en-têtes]
  [-s séparateur de colonnes]
  [-w largeur de colonne]
  [-a taille du paquet]
  [-e entrée d'echo]
  [-I Activer les identificateurs marqués]
  [-L liste des serveurs]
  [-c fin de cmd]           [-D nom ODBC DSN]
  [-q "requête cmdline"]
  [-Q "requête cmdline" et quitter]
  [-n supprimer la numérotation]
  [-m niveau d'error]
  [-r msgs vers stderr]
  [-V severitylevel]
  [-i fichier d'entry]
  [-o fichier de sortie]
  [-p imprimer les statistiques]  [-b abandon du lot d'instruction after error]

  [-X[1] désactive les commandes [et quitte avec un avertissement]]
  [-O utiliser le comportement Old ISQL désactive les éléments suivants]
      <EOF> traitement par lot d'instructions
      Mise à l'automatic console width scaling
      Messages larges
      niveau d'default error -1 instead of 1
  [-? description de la syntaxe]

Starten Sie den Server [MSDE140405] wie oben beschrieben und stellen Sie dann in einem Eingabeaufforderungsfenster mit [osql] eine Verbindung zum Server [portable1_tahe\msde140405] unter der Identität [sa, azerty] her:

C:\Program Files\Microsoft SQL Server\80\Tools\Binn>OSQL.EXE -U sa -S portable1_tahe\msde140405 -P azerty
1>

Die Eingabeaufforderung [1>] zeigt an, dass [osql] auf einen Befehl wartet. Die Verbindung wurde erfolgreich hergestellt. Um [osql] korrekt zu verwenden, sollten Sie die MSDE-Dokumentation konsultieren. Diese ist in verschiedenen Formaten (PDF, HTML-Hilfe usw.) verfügbar. Diese Dokumentation ist recht umfangreich. Im Allgemeinen ist es vorzuziehen, einen grafischen Client für die Arbeit mit einer MSDE-Datenbank zu verwenden. Dies wird etwas weiter unten vorgeschlagen. Um [osql] zu beenden, verwenden Sie den Befehl [exit]:

1> exit

Wir werden nun sehen, wie man Datenbanken auf dem neu installierten MSDE-Server erstellt. Zuvor stellen wir kurz ein Tool namens [MSDE Manager] vor, mit dem Sie den Authentifizierungsmodus eines MSDE-Servers ändern können. Wenn Sie einen solchen Server mit den Standardinstallationsoptionen installieren, ist der Authentifizierungsmodus des Servers auf [Windows-Authentifizierung] eingestellt. Diese Art der Authentifizierung erlaubt nur Benutzern, die auf dem Windows-Rechner identifiziert wurden (möglicherweise über eine Domäne). Für ein VB.NET-Programm, das eine Verbindung zu einer Datenbank herstellen möchte, um deren Inhalt zu nutzen, ist dieser Modus unpraktisch. Noch problematischer ist es für Java-Anwendungen, die über einen JDBC-Treiber auf das DBMS zugreifen. In solchen Fällen ist die gemischte Authentifizierung vorzuziehen, da sie zusätzlich zur bisherigen Authentifizierungsmethode auch im DBMS definierte Benutzername/Passwort-Paare akzeptiert. Mit dem Tool [MSDE Manager] können Sie diesen Vorgang durchführen.

3.13. Wo finde ich den MSDE Manager?

[MSDE Manager] ist ein Verwaltungstool für das MSDE-DBMS. Es ist unter der URL [http://www.valesoftware.com/] zu finden.

Wir laden die kostenlose Version über den obigen Link herunter:

Image

Image

Die Testversion hat eine kurze Laufzeit. Das ist in Ordnung, da wir sie nur für eine einzige, bestimmte Aufgabe verwenden werden. Laden Sie das Produkt herunter und installieren Sie es. Auf dem Desktop wird eine Verknüpfung angelegt. Verwenden Sie diese, um den MSDE Manager zu starten. Nach den ersten Fenstern gelangen Sie zu diesem:

Image

  • Starten Sie den MSDE140405-Server
  • Sie müssen als Administrator auf dem Windows-Rechner angemeldet sein
  • Klicken Sie mit der rechten Maustaste auf den Link [SQL Server Group] und wählen Sie die Option [New SQL Server Registration]:

Image

Image

Die folgende Eigenschaftenseite wird angezeigt:

Servername
portable1_tahe\msde140405 – Name der MSDE-Instanz, mit der Sie eine Verbindung herstellen möchten
Verbindung
Windows-Authentifizierung – dieser Modus ist immer verfügbar und ermöglicht es einem Windows-Systemadministrator, eine Verbindung zum MSDE-Server herzustellen
Servergruppe
Wählen Sie die einzige aufgeführte Servergruppe [SQL Server-Gruppe] aus

Sobald Sie auf [OK] klicken, wird der Eigenschaftsbaum für den Server MSDE140405 angezeigt:

Image

Wir könnten nun mit der Erstellung von Datenbanken beginnen. Das werden wir jedoch nicht tun, da wir ein anderes Produkt verwenden werden, einen Klon des bereits behandelten IBExpert-Produkts. Wir werden lediglich den MSDE-Authentifizierungsmodus ändern. Klicken Sie mit der rechten Maustaste auf den oben genannten MSDE140405-Server und wählen Sie die Option [Design]:

Image

Es erscheint das folgende Informationsfenster:

Image

Die Registerkarte [Allgemein] enthält Informationen über den MSDE-Server, mit dem Sie verbunden sind. Die Seite [Sicherheit] ist für uns von Interesse:

Image

Hier müssen Sie sicherstellen, dass der MSDE-Authentifizierungsmodus auf [SQL Server und Windows] eingestellt ist. Dadurch können Sie auf zwei Arten eine Verbindung zu MSDE herstellen:

  • mit einem Windows-Administratorkonto – wie es hier geschehen ist
  • mit einem MSDE-Konto – hierfür sind ein Benutzername und ein Passwort erforderlich. Dies ist der Modus, der in einem Programm verwendet werden sollte, das eine Verbindung zu einer DBMS-Datenbank herstellt.

Wir bestätigen diese Auswahl und beenden den MSDE-Manager. Wir werden ihn nicht mehr benötigen. Zum Erstellen von MSDE-Datenbanken verwenden wir ein anderes Tool: EMS MS SQL Manager.

3.14. Wo finden Sie den EMS- -MS-SQL-Manager?

Der EMS MS SQL Manager ist ein grafisches Tool für die Arbeit mit dem Datenbankmanagementsystem Microsoft SQL Server und somit auch mit MSDE. Es ähnelt stark dem zuvor beschriebenen Tool IB-Expert. Es ist unter der URL [http://sqlmanager.net/] (Stand: April 2005) verfügbar:

Image

Die Website bietet Verwaltungstools für viele DBMS. Folgen Sie dem Link [MS SQL Manager]:

Image

Oben wählen wir die Light-Version des Produkts aus. Laden Sie diese herunter und installieren Sie sie. Sie erhalten einen Ordner, der in etwa wie folgt aussieht:

Image

Die ausführbare Datei heißt [MsManager.exe]. Normalerweise ist im [Start]-Menü eine Verknüpfung verfügbar:

Image

Nach dem Start zeigt der MS SQL Manager das folgende Fenster an:

Image

Beginnen wir damit, den MSDE-Server, mit dem wir arbeiten möchten, über die Option [Datenbank/Host registrieren] zu registrieren:

Anmerkungen:

  • Schritt 1 – Wie bereits erwähnt, unterstützt MSDE zwei Authentifizierungsmodi: Windows und SQL Server. Im [Windows]-Modus werden die Konten des Windows-Rechners verwendet. Im [SQL Server]-Modus werden die DBMS-Konten verwendet. [SQL Server] kann im [Windows]-Modus oder im gemischten [Windows, SQL Server]-Modus betrieben werden. Der [Windows]-Authentifizierungsmodus ist immer verfügbar. Der gemischte Authentifizierungsmodus ist jedoch nicht immer aktiv. Wir haben gesehen, wie man ihn mit dem MSDE-Manager aktiviert. Oben wurde die Verbindung über ein Administratorkonto hergestellt.
  • Schritt 2 – Sobald die Authentifizierung erfolgreich war, werden die Standard-MSDE-Datenbanken angezeigt. Oben wurden alle ausgewählt.

Anmerkungen:

  • Schritt 3: Es können Verwaltungsoptionen für die ausgewählten Datenbanken ausgewählt werden. Hier wurden die Standardoptionen beibehalten.
  • Schritt 4: Wir registrieren den MSDE-Server über die Schaltfläche [Registrieren]

Der MSDE-Server wird dann im Datenbank-Explorer angezeigt:

Image

Verwenden wir die Option [Datenbank/Datenbank erstellen], um eine Datenbank zu erstellen:

Schritt 2:

Wenn diese Informationsseite angezeigt wird, wurde die Datenbank [dbarticles] erstellt. Sie können dies überprüfen, indem Sie auf die Schaltfläche [Verbindung testen] klicken. In das Feld [Datenbankalias] können Sie einen beliebigen Namen eingeben. Hier haben wir Folgendes eingegeben:

  • den Namen der Datenbank
  • den Namen des MSDE-Servers, auf dem sie sich befindet
  • den Benutzer [admarticles], der Eigentümer dieser Datenbank sein wird, und dessen Passwort [mdparticles]. Dieser Benutzer wurde noch nicht angelegt, wird aber in Kürze erstellt.

Schritt 3:

  • Klicken Sie auf die Schaltfläche [Registrieren], um die neue Datenbank in [MS SQL Server] zu registrieren. Nach der Registrierung erscheint die Datenbank [admarticles] in der Liste der Datenbanken. Durch Doppelklicken darauf wird der Eigenschaftsbaum angezeigt.

Erstellen wir nun einen neuen Login, der als Administrator der Datenbank [admarticles] fungieren soll.

  • Wählen Sie die Option [Tools/Login Manager]:

Image

  • Wir sehen, dass bereits zwei Anmeldungen definiert sind:
    • [BUILTIN\Administrators]: Dieser Login verwendet die Windows-Authentifizierung. Er steht für die Administratoren des Windows-Rechners, auf dem sich der MSDE-Server befindet
    • sa: Dieser Login verwendet die SQL-Authentifizierung. Standardmäßig ist dies der Administrator des MSDE-Servers. Beachten Sie, dass hier, wie bei der Installation des MSDE-DBMS konfiguriert, das Passwort [azerty] lautet.
  • Klicken Sie mit der rechten Maustaste auf den Bereich „Anmeldungen“ und fügen Sie eine neue Anmeldung hinzu:
  • Es erscheint ein Formular, in dem wir die Eigenschaften des neuen Logins festlegen:

Image

  • Anmeldename: admarticles
  • Passwort: mdparticles
  • Sobald auf die Schaltfläche [OK] geklickt wird, zeigt MS Manager die SQL-Abfragen an, die ausgeführt werden:

Image

Die oben gezeigte SQL-Sprache ist Transact-SQL, die von MSDE verwendete SQL-Sprache. Wir führen diesen Code aus, indem wir auf [OK] klicken

  • Der neue Login wird zur Liste der Logins hinzugefügt:

Image

  • Klicken Sie im Fenster „Eigenschaften der Datenbank [dbarticles]“ mit der rechten Maustaste auf [users], um einen Benutzer mit Berechtigungen für die Datenbank [dbarticles] anzulegen:

Image

  • Daraufhin erscheint das folgende Fenster:

Image

  • In der Dropdown-Liste [Login] sehen Sie die Liste der vorhandenen Anmeldungen. Wählen Sie die Anmeldung [admarticles] aus.
  • Geben Sie unter [Name] einen Benutzernamen ein. Einem Login können mehrere Benutzer zugeordnet werden. Außerdem muss in MSDE vor dem Anlegen eines Benutzers zunächst ein Login angelegt werden. Der Bereich [User] sieht nun wie folgt aus:

Image

  • Wenden wir uns nun dem Bereich [Member Of] zu, in dem wir die Berechtigungen unseres Benutzers festlegen können:

Image

  • Ich bin kein regelmäßiger MSDE-Benutzer und bin mir über die genaue Bedeutung der einzelnen Rollen im linken Bereich nicht sicher. Die Rolle [db_owner] ist verlockend (owner = Eigentümer). Wir werden sie daher für unseren Benutzer [admarticles] auswählen:

Image

  • Wir bestätigen unsere Auswahl, indem wir oben auf die Schaltfläche [Compile] klicken. Die ausgeführten SQL-Abfragen lauten wie folgt:

Image

  • Wir kompilieren sie, indem wir auf [OK] klicken. Wir haben nun einen Benutzer für die Datenbank [dbarticles]:

Image

  • Erstellen wir nun eine Tabelle. Klicken Sie mit der rechten Maustaste auf [Tables] und wählen Sie die Option [New Table]. Dadurch wird das Fenster zur Definition der Tabelleneigenschaften geöffnet:

Image

  • Beginnen wir damit, die Tabelle über das Eingabefeld [Tabellenname] [ARTICLES] zu nennen. Wechseln Sie anschließend zum Bereich [Felder]:

Image

  • Definieren Sie die folgenden Felder:

Image

Solange wir unsere Definition nicht „kompiliert“ haben, wird die Tabelle nicht erstellt. Verwenden Sie die Schaltfläche [Compile] oben, um die Tabellendefinition abzuschließen. [MS SQL Manager] bereitet die SQL-Abfragen zur Erstellung der Tabelle vor und bittet um Bestätigung:

Image

Interessanterweise zeigt [MS SQL Manager] die ausgeführten SQL-Abfragen an. So können Sie die Sprache Transact-SQL erlernen. Die Schaltfläche [Commit] bestätigt die aktuelle Transaktion, während [Rollback] sie rückgängig macht. Hier bestätigen wir sie durch Klicken auf [Commit]. Sobald dies geschehen ist, fügt [MS SQL Manager] die erstellte Tabelle zu unserer Datenbankstruktur hinzu:

Image

Durch Doppelklicken auf die Tabelle können wir auf ihre Eigenschaften zugreifen:

Image

Über den Bereich [Checks] können wir der Tabelle neue Integritätsbeschränkungen hinzufügen. Für die Tabelle [ARTICLES] erstellen wir die folgenden Beschränkungen:

  • Die Felder [ID, PRICE, CURRENTSTOCK, MINIMUMSTOCK] müssen >=0 sein
  • das Feld [NAME] darf nicht leer sein

Klicken Sie im Bereich [Checks] mit der rechten Maustaste auf den leeren Bereich, um eine neue Einschränkung hinzuzufügen [New check]:

Image

  • Das Bearbeitungsfenster für die Einschränkung sieht wie folgt aus:

Image

Name: Name der Einschränkung

Tabelle: Tabelle, auf die die Einschränkung angewendet wird

Definition: Einschränkungsausdruck

Die Einschränkung wird über die Schaltfläche [Compile] oben kompiliert.

  • Auch hier zeigt [MS SQL Manager] die ausgeführten SQL-Befehle an:

Image

  • Wir validieren sie über die Schaltfläche [Commit] (nicht abgebildet). Wenn wir zum Bereich [Checks] für die Tabelle [ARTICLES] zurückkehren, wird die neue Einschränkung angezeigt:

Image

  • Wir definieren die anderen Einschränkungen auf die gleiche Weise, um schließlich die folgende Liste zu erhalten:

Image

Sobald dies erledigt ist, öffnen Sie das [DDL]-Fenster für die Tabelle [ARTICLES]:

Image

In diesem Fenster wird der Transact-SQL-Code zum Erstellen der Tabelle mit allen Einschränkungen angezeigt. Sie können diesen Code in einem Skript speichern, um ihn später auszuführen:

CREATE TABLE [ARTICLES] (
  [id] int NOT NULL,
  [nom] varchar(20) COLLATE French_CI_AS NOT NULL,
  [prix] float(53) NOT NULL,
  [stockactuel] int NOT NULL,
  [stockminimum] int NOT NULL,
  CONSTRAINT [ARTICLES_uq] UNIQUE ([nom]),
  PRIMARY KEY ([id]),
  CONSTRAINT [ARTICLES_ck_id] CHECK ([id] > 0),
  CONSTRAINT [ARTICLES_ck_nom] CHECK ([nom] <> ''),
  CONSTRAINT [ARTICLES_ck_prix] CHECK ([prix] >= 0),
  CONSTRAINT [ARTICLES_ck_stockactuel] CHECK ([stockactuel] >= 0),
  CONSTRAINT [ARTICLES_ck_stockminimum] CHECK ([stockminimum] >= 0)
)
ON [PRIMARY]
GO

Nun ist es an der Zeit, einige Daten in die Tabelle [ARTICLES] einzugeben. Verwenden Sie dazu das [Data]-Fenster:

Image

Mit der Schaltfläche [+] fügen Sie eine Zeile hinzu, mit der Schaltfläche [-] entfernen Sie eine. Die Daten werden durch einfache Eingabe in die Eingabefelder der einzelnen Zeilen der Tabelle eingegeben. Eine Zeile wird über die Schaltfläche [Post Edit] unten validiert:

Image

Erstellen wir zwei Einträge:

Image

Mit [MS SQL Manager] können Sie SQL-Abfragen über die Option [Extras/SQL-Editor anzeigen] oder die Taste [F12] ausführen. Dadurch erhalten Sie Zugriff auf einen erweiterten SQL-Abfrage-Editor, in dem Sie Abfragen ausführen können. Die Abfragen werden gespeichert, sodass Sie bereits ausgeführte Abfragen erneut aufrufen können. Hier ein Beispiel:

Image

Führen Sie die SQL-Abfrage über die Schaltfläche [Ausführen] oben aus. Sie erhalten das folgende Ergebnis:

Image

Wir beenden unsere Demonstrationen an dieser Stelle. Die Kombination aus [MS SQL Manager – MSDE] eignet sich, ähnlich wie die Kombination aus [IBExpert – Firebird], ebenfalls hervorragend zum Erlernen von Datenbanken.

3.15. Erstellen einer ODBC-Quelle [MSDE]

Der ODBC-Treiber für SQL Server ist auf Windows-Rechnern normalerweise standardmäßig installiert.

  • Starten Sie das Tool [Start -> Einstellungen -> Konfigurationstools -> Verwaltung -> ODBC-Datenquellen]:

Image

  • Das folgende Fenster wird angezeigt:

Image

  • Klicken Sie auf [Hinzufügen], um eine neue Systemdatenquelle (im Bereich [System-DSN]) hinzuzufügen, die wir mit der im vorherigen Abschnitt erstellten MSDE-Datenbank verknüpfen werden:

Image

  • Zunächst müssen wir den zu verwendenden ODBC-Treiber angeben. Oben wählen wir den Treiber für [SQL Server] aus und klicken dann auf [Fertig stellen]. Der [SQL Server]-ODBC-Treiber-Assistent übernimmt dann die weitere Vorgehensweise:

Image

  • Wir füllen die verschiedenen Felder aus:
Name [odbc-msde-articles]
Der Name der ODBC-Quelle – kann beliebig sein
Beschreibung
kann beliebig sein
SQLMap-Server
portable_tahe\msde140405
Name des MSDE-Servers, der die ODBC-Quelldaten enthält
  • Klicken Sie auf [Weiter], um weitere Informationen anzugeben:

Image

  • Füllen Sie die verschiedenen Felder aus:
SQL Server-Authentifizierung
Geben Sie an, dass Sie die Verbindung zur ODBC-Datenquelle über einen auf dem MSDE-Server registrierten Benutzernamen herstellen möchten
Anmelde-ID [admarticles]
Benutzername
Passwort [mdparticles]
Benutzerpasswort
  • Beachten Sie, dass wir hier zum ersten Mal den in einem vorherigen Abschnitt erstellten Benutzer (admarticles, mdparticles) verwenden. Klicken Sie erneut auf [Weiter], um zum nächsten Bildschirm zu gelangen:

Image

  • Wir füllen die verschiedenen Felder aus:
Datenbank ändern...
Wir wählen die Datenbank [dbarticles] als Standarddatenbank für den Benutzer [admarticles] aus
  • Klicken Sie auf [Weiter], um zum nächsten Bildschirm zu gelangen:

Image

  • Wir übernehmen die Standardwerte und klicken auf [Fertig stellen]. Es wird eine Zusammenfassung der Eigenschaften der zu erstellenden ODBC-Quelle angezeigt:

Image

  • Über die Schaltfläche [Datenquelle testen] können wir die Gültigkeit unserer Angaben überprüfen. Vergewissern Sie sich, dass MSDE läuft, und testen Sie dann die Verbindung:

Image

  • Wir können nun sicher sein, dass das Paar [admarticles, mdparticles] erkannt wird.

Für weitere Tests kann der Leser die in Abschnitt 3.10 beschriebene Vorgehensweise befolgen.

3.16. Verbindungszeichenfolge zu einer MSDE-Datenbank

  • Starten Sie Visual Studio und öffnen Sie den Server-Explorer [Ansicht/Server-Explorer]:
  • Klicken Sie mit der rechten Maustaste auf [Datenverbindung] und wählen Sie die Option [Verbindung hinzufügen]:

Image

  • Geben Sie im Bereich [Anbieter] an, dass Sie eine SQL Server-Quelle verwenden möchten, und wechseln Sie dann zum Bereich [Verbindung]. Beachten Sie, dass wir hier keinen ODBC-Treiber verwenden.

Image

Servername
[portable1_tahe\msde140405]
Name des MSDE-Servers, mit dem Sie eine Verbindung herstellen
Benutzername [admarticles]
Benutzername für die Verbindung zur Datenbank
Passwort [mdparticles]
Das zu diesem Benutzernamen gehörende Passwort
Datenbank [dbarticles]
Die Datenbank, mit der Sie arbeiten möchten

Über die Schaltfläche [Verbindung testen] können Sie die Gültigkeit der Angaben überprüfen:

Image

  • Bestätigen Sie den Assistenten, indem Sie auf [OK] klicken. Interessanterweise fragt ein neues Fenster nach den Verbindungsdaten:

Image

  • Geben Sie diese erneut ein und klicken Sie auf [OK]. Die Datenquelle wird dann im Fenster [Server Explorer] in Visual Studio angezeigt:

Image

  • Durch Doppelklicken auf die Tabelle [ARTICLES] können Sie auf die Daten der Tabelle zugreifen:

Image

  • Wenn wir mit der rechten Maustaste auf den Link [portable1_tahe\msde140405.dbarticles.admarticles] im Bereich [Server Explorer] klicken und die Option [Eigenschaften] auswählen, können wir die Verbindungseigenschaften anzeigen:

Image

  • Die Eigenschaft [ConnectString] ist wichtig, da der .NET-Code sie benötigt, um eine Verbindung zur Datenbank herzustellen. Hier lautet die Verbindungszeichenfolge:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PORTABLE1_TAHE;Use Encryption for Data=False;Tag with column collation when possible=False

Viele Elemente dieser Verbindungszeichenfolge haben Standardwerte. Die folgende Verbindungszeichenfolge ist ausreichend:

"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;PASSWORD=mdparticles"