Announcement

Collapse
No announcement yet.

Satzsperren unter Terminalserver 2000

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

  • Satzsperren unter Terminalserver 2000

    Hallo zusammen,

    ich habe eine Anwendung die unter NT/4 im Netzwerk problemlos läuft.
    Mein Kunde hat aus Performancegründen sich für einen Terminalserver 2000
    entschieden. Beim testen ist Ihm aufgefallen, daß zwei Arbeitsplätze
    den selben Satz einer Paradox-Tabelle Bearbeiten können .
    Woran liegt daß ? bzw wie funktioniert das Recordlocking im Paradox genau.

    Noch zur Info mein Kunde loggt alle Clients mit der selber Userid am
    Terminalserver ein.

    Gruß Lutz

  • #2
    Hallo,

    unter der URL <i>www.borland.com/devsupport/bde/ti</i> stellt Borland die Technical Information <b>Article #15247: BDE setup for Peer-To-Peer(Non-Dedicated) Networks</b> zur Verfügung. Da der Microsoft Terminal Server für die BDE ein Peer-to-Peer-Netzwerk ist, muss man die BDE-Konfiguration für ein Peer-to-Peer-Netzwerk (LOCAL SHARE = True etc.) verwenden

    Comment


    • #3
      <b>Hallo,</B><p>

      kann man "LOCAL SHARE = True" auch zur Laufzeit setzen (ohne BDE-Admin), so dass die eigene Anwendung es auch noch mit bekommt ?<p>

      Es kann ja vorkommen das andere Anwendungen "LOCAL SHARE = False" benötigen, wenn Sie "normal" im Netzwerk laufen, d. h. OHNE Terminalserver.<p>

      <b>Gruß Tom ..

      Comment


      • #4
        Hallo,

        ja sicher - ich habe aber nur ein Beispiel für das Ändern von MAXFILEHANDLES am Lager. Da LOCAL SHARE im gleichen INIT-Zweig konfiguriert wird, sollte sich dieses Beispiel schnell anpassen lassen:
        <pre>
        uses BDE, DBTables;

        procedure TForm1.Button1Click(Sender: TObject);
        var
        hCursor : HDBICur;
        aConfig : CFGDesc;
        begin
        ListBox1.Items.Clear;
        Session.Open;
        Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPERSISTENT,
        '\SYSTEM\INIT', hCursor));
        try
        while DbiGetNextRecord(hCursor, dbiNOLOCK, @aConfig, nil) = 0 do
        ListBox1.Items.Add(Format('%s=%s', [aConfig.szNodeName,
        aConfig.szValue]));
        finally
        DbiCloseCursor(hCursor);
        end;
        end;

        procedure TForm1.Button2Click(Sender: TObject);
        var
        hCursor : HDBICur;
        aConfig : CFGDesc;
        begin
        Session.Open;
        Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPERSISTENT,
        '\SYSTEM\INIT', hCursor));
        try
        while DbiGetNextRecord(hCursor, dbiNOLOCK, @aConfig, nil) = 0 do
        if aConfig.szNodeName = 'MAXFILEHANDLES' then
        begin
        aConfig.szValue := '50';
        Check(DbiModifyRecord(hCursor, @aConfig, True));
        end;
        finally
        DbiCloseCursor(hCursor);
        end;
        end;
        </pre&gt

        Comment

        Working...
        X