Announcement

Collapse
No announcement yet.

Buch Client/Server von A. Kosch

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Buch Client/Server von A. Kosch

    Hallo,

    mit dem Buch Client Server von A.Kosch bin ich jetzt bis Kapitel 11
    vorgedrungen. Nun möchte ich die Beispiele von der CD betrachten und
    ausprobieren. Leider blicke ich nicht durch beim anlegen der
    verschiedenen Aliase, damit die Beispiele auch funktionieren. Falls
    jemand im Forum auch dieses Buch besitzt, und die Beispiele ausgeführt
    hat, wäre ich dankbar, Sie oder Er, könnte mir einmal beschreiben was
    ich tun muß. Ich bin totaler Anfänger mit Interbase.

    Gruß
    ph

  • #2
    Hallo,

    um welches Problem handelt es sich konkret? Auf den Seiten 7 und 8 habe ich alle verwendeten BDE-Aliase in der Tabelle 1.2 zusammengestellt. Auf den Seiten 93-95 gehe ich auf das Prinzip eines BDE-Aliases ein.

    Einige Beispiel-Projekte (wie zum Beispiel das von Seite 271) verwenden den Alias <b>IBLOCAL</b>, der vom Setup-Programm von Delphi automatisch angelegt wurde (wenn der InterBase mit installiert wurde).

    Das Beispiel <I>Kapitel 11\QueryReOpen</i> verwendet eine TDataBase-Instanz, um für den BDE-Alias IBLOCAL einen eigenen virtuellen Alias <b>_IBLOC</b> einzurichten. Dies wird immer dann sofort sichtbar, wenn man mit der Maus einen Doppelklick auf die TDataBase-Instanz im Formular macht.

    Das Beispiel <I>Kapitel 11\ViewUpdate</i> enthält auf der CDROM die Textdatei <i>Alias.txt</i>, in der die verwendete Alias-Konfiguration aufgelistet ist:
    <pre>
    SERVER NAME=C:\Datenbase\Viewupd.gdb
    USER NAME=SYSDBA
    OPEN MODE=READ/WRITE
    SCHEMA CACHE SIZE=8
    LANGDRIVER=DBWINWE0
    SQLQRYMODE=SERVER
    SQLPASSTHRU MODE=SHARED AUTOCOMMIT
    SCHEMA CACHE TIME=-1
    MAX ROWS=-1
    BATCH COUNT=200
    ENABLE SCHEMA CACHE=FALSE
    SCHEMA CACHE DIR=
    ENABLE BCD=TRUE
    BLOBS TO CACHE=64
    BLOB SIZE=32
    PASSWORD=masterkey
    </pre>
    Diese Zeilen können über die Zwischenablage direkt in das Feld <b>Parameter überschreiben</b> des Dialogs <b>Datenbanken</b> (erreichbar mit Doppelklick auf TDataBase) kopiert werden. Danach ist bei Bedarf nur noch die Zeile für <i>SERVER NAME</i> an das eigene Verzeichnis anzupassen.

    Im Verzeichnis <b>Source</b> der CDROM befindet sich die Datei <i>Liesmich.txt</i>, in der alle verwendeten Datenbanken und die darin enthaltenen Tabellen aufgeführt sind

    Comment


    • #3
      Hallo,

      den Interbase habe ich installiert. Beim Beispiel Kapitel 11 Probleme bekomme ich die Meldung

      Benutzername oder Paßwort unbekannt

      unavailable database

      Alias: _IBLOC

      Also mit den vorhergehenden Beispielen hatte ich überhaupt keine Probleme.

      Können Sie mir noch einen Hinweis geben.

      Gruss
      p

      Comment


      • #4
        Hallo,

        mit Delphi kann man entweder über einen BDE-Alias oder einen "virtuellen" TDataBase-Alias auf eine InterBase-Datenbank zugreifen. Der Vorteil des BDE-Alias liegt darin, dass diese Datenbank auch über die anderen Tools (SQL-Explorer, Datenbankoberfläche, Datapump) bequem über den Alias geöffnet werden kann. Rein formell ist ein BDE-Alias jedoch nicht notwendig.

        Da es sich bei "_IBLOC" um einen virtuellen TDataBase-Alias handelt (der nur auf einen BDE-Alias aufsetzt), würde ich das Problem in den folgenden Schritten eingrenzen: <br>
        1. SQL-Explorer (alias Datenbank-Explorer) öffnen <br>
        2. BDE-Aliaseintrag IBLOCAL im linken TreeView-Fenster suchen <br>
        3. Datenbank zum Test öffnen (Benutzer <i>SYSDBA</i> und Passwort <i>masterkey</i>) <br>
        4. Wenn erfolgreich, SQL-Explorer schliessen und mit Schritt 5 weitermachen. <br>
        5. Beispielprojekt <i>TQueryProblem.dpr</i> in Delphi öffnen, da die TDatabase-Instanz beim Speichern aktiv war, versucht Delphi sofort den Verbindungsaufbau zur InterBase-Datenbank. <br>
        6. TDatabase-Instanz <i>Database1</i> im Formular suchen und doppelt anklicken <br>
        7. Im Dialogfenster <b>Form1.Database1 Datenbanken</b> ist zu erkennen, dass der "virtuelle" TDatabase-Alias <i>_IBLOC</i> von dem BDE-Alias <i>IBLOCAL</i> abgeleitet wurde, da die Combobox für den Treibernamen leer ist. Im Memofeld <i>Parameter überschreiben</i> tauchen die folgenden Zeilen auf:
        <pre>
        USER NAME=SYSDBA
        PASSWORD=masterkey
        </pre>
        Über diese beiden Zeilen wird der Benutzername und das Passwort definiert. Wenn der Schritt 3 erfolgreich war und kein neues Passwort für den Benutzer SYSDBA definiert wurde, sollte es keinen Grund geben, warum Database1 nicht aktiviert werden kann. Wurde das Passwort allerdings geändert, muss dies im Memofeld des Datenbank-Dialogs ebenfalls geändert werden (oder im Objektinspektor wird die TDatabase-Eigenschaft <b>LoginPrompt</b> auf True gesetzt, damit beim Öffnen der Datenbank das Dialogfenster für die Passwortabfrage eingeblendet wird).

        Aus irgendeinen Grund sind die Informationen zu Benutzername und/oder Passwort verschwunden. Ich würde daher die Projektdateien frisch von der CDROM kopieren und dann das Projekt neu öffnen. Wenn das SYSDBA-Vorgabepasswort <b>masterkey</b> nicht geändert wurde und die InterBase-Datenbank im SQL-Explorer über den BDE-Alias IBLOCAL erfolgreich geöffnet werden kann (siehe Schritt 3) sollte es keine Problem beim Öffnen von <i>TQueryProblem.dpr</i> geben

        Comment


        • #5
          Hallo,
          auf meinem alten Computer habe ich mein Problem beheben können.
          Jedoch erhalte ich auf meinem neuen Computer beim installieren von Interbase die Meldung

          unable to set registry value

          Vielen Dank einstweilen, vielleicht haben Sie zu der Meldung noch einen Hinweis

          Gruss
          p

          Comment


          • #6
            Hallo,

            welche Windows-Version wird auf dem neuen Computer verwendet. Unter NT/2000 hat man in der Systemsteuerung die Möglichkeit, die Grösse der Registry zu definieren. Steht hier ein zu kleiner Wert, ist irgendwann Schluss ;-)

            Falls das nicht die Ursache dieses Fehlers war und falls bisher noch keine grosse Anwendung installiert wurde, würde ich nachsehen, ob der folgende Registry-Schlüssel vorhanden ist:
            <pre>
            HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\SharedDlls
            </pre>
            Falls der Eintrag <i>SharedDlls</i> fehlt, muss dieser von Hand neu angelegt werden (Bug im InterBase-Setup)

            Comment


            • #7
              Hallo,
              den Eintrag H_KEY ... habe ich in der RegEdit gefunden. Ich arbeite mit
              Windows 95. Als ich mit Delphi angefangen habe wurde von mir die
              zeitlich eingeschränkte Delphi Version installiert, die einem Anfängerbuch beilag. Will ich nun Interbase über Systemeinstellung, Software
              entfernen, so bekomme ich die Meldung: Beim Entfernen von Interbase
              ist ein Fehler aufgetreten. Ich dachte ich könnte local Interbase
              jetzt überinstallieren. Vielleicht hat der ganze Rechner eine Macke und
              ich sollte alles neu intallieren, aber vielleicht haben Sie noch einen
              Tipp für mich.

              Danke
              p

              Comment


              • #8
                Hallo,

                in diesem Fall würde ich vor dem nächsten Installationsversuch in der Registry alle alten Verweise auf die letzte InterBase-Version entfernen und zur Sicherheit auch das alte InterBase-Verzeichnis von Hand umbenennen (wenn ein Löschen nicht in Frage kommt)

                Comment


                • #9
                  Hallo,
                  nachdem ich meinen Computer mit FDISK und allen drumherum neu installiert habe funktioniert alles
                  z.Zt. wie gewünscht. Alle anderen Versuche waren erfolglos.
                  Ich bedanke mich für Ihre Tipps.

                  Gruss
                  p

                  Comment

                  Working...
                  X