Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Terminalserver & BDE (https://www.delphipraxis.net/137429-terminalserver-bde.html)

rmb 20. Jul 2009 21:39

Datenbank: Firebird • Version: 2.1 • Zugriff über: BDE

Terminalserver & BDE
 
Hallo & guten Tag,


ich gehöre auch noch zu der Kategorie der BDE-Nutzer, da ich ein Programm betreue das aus den Zeiten von Delphi 1 stammt und die BDE nutztz.

Bisher war das auch nach dem Umstieg auf IB / FB relativ problemlos.

Nun habe ich das Problem das ganze Gespannn auf einer Kombination von W2008 Servern zum laufen zu bringen.

Server 1 mit W2008 soll als DB-Server dienen.

Server 2 mit W2008 ist als Terminalsertver eingerichtet und die User sollen über RDP mit dem Programm arbeiten.

Soweit so gut, ( oder schlecht :pale: )

Auf dem Server 1 läuft das Programm über RDP ohne Probleme, auf dem Server 2 mit den Terminaldiensten bekomme ich beim Start die Meldung "`Tabelle xy nicht vorhanden" obwohl diese vorhanden ist.

Nach meinen Debuginfo`s werden die ersten 10 Tabellenobjekte des Datenmoduls geöffnet und dann ist Sense jede weitere zu öffnende Tabelle führt zu diesem Fehler, Abfragen funktionieren aber alle.

Es sieht wie ein Ressourcenproblem aus, die Einstellungen der BDE habe ich schon durchpprobiert, leider ohne Erfolg.

Das Problem ist das ich eine kurzfristige Lösung benötige, da eine Umstellung weg von der BDE zwar geplant, aber hier nicht weiterhilft.

Gruß
Reiner

Bernhard Geyer 20. Jul 2009 21:46

Re: Terminalserver & BDE
 
Hast du normal Terminal Service oder einen Aufsatz ala Citrix? Hier sollte man auf jedenfall alle Updates einspielen da Citrix des öfteren mal was "verschlimmbessert".

rmb 20. Jul 2009 21:49

Re: Terminalserver & BDE
 
Kein Citrix, ist die W2008 in der Terminalserverrolle...

Ich bin nicht unbedingt der MS-Serverspezialist, aber Citrix ist nicht im Spiel...

mkinzler 21. Jul 2009 05:34

Re: Terminalserver & BDE
 
Für die Terminalservices von W2008 hat Microsoft bei Citrix zugekauft

rmb 21. Jul 2009 05:41

Re: Terminalserver & BDE
 
Ok, also doch Citrix ?

Welche Stellschraube ist denn dann zu drehen ?

Unter dem ersten Server läuft das Programm in einer RD-Session ohne Probleme.
In der TS-Rolle auf dem zweiten Server tritt das geschilderte Verhalten auf, das er TTable-Objekte nur begrenzt öffnet.
Kann das mit Ressourcen / UACL / Rechten zu tun haben ??

Danke
Reiner

Willmar.Heinrich 21. Jul 2009 07:03

Re: Terminalserver & BDE
 
Microsoft hat mit seiner Beteiligung an Citrix sicher auch KnowHow-Transfer, trotzdem sind die Remote Desktop-Services von Win2008 kein Citrix.

Ich vermute mal stark, dass die Remote Desktop-Services nicht mehr mit der BDE klarkommen bzw. umgekehrt.
Um das einzugrenzen, gehe doch mal auf den Server mit einer RDP-Session im Consolenmodus (mstsc.exe /console), wenn Du dann mit der BDE arbeiten kannst, wird wohl hier die Ursache liegen.

hoika 21. Jul 2009 07:11

Re: Terminalserver & BDE
 
Hallo,

willkommen im Firebird/BDE Club ;)
Bei mir läuft das alles ohne Probleme.
Ich benutze TTable aber nur noch sehr sporadisch
(baue das gerade auf TQuery um, um dann auf FIBPlus umzusteigen).

Dein Problem ist, dass jetzt sehr viele BDE-Programme auf dem Terminal-Server laufen,
auch wenn es nur dein einziges Programm ist.
Schau dir die Tips hier mal an,
speziell zu MinBufSize und SharedMemSize

BDE Konfiguration


Heiko

rmb 21. Jul 2009 07:40

Re: Terminalserver & BDE
 
Na den, Gruß an den Club :wink:

Der Fehler tritt auch auf, wenn ich alleine als einzige BDE-Applikation am Server arbeite.
Von Mehrbenutzer bin ich mangels Funktionieren der Lösung ja noch meilenweit weg.

Reiner

hoika 21. Jul 2009 07:57

Re: Terminalserver & BDE
 
Hallo,

dann nimm dir mal das EDBEngineError und ermittle die genaue
BDE-Fehlermeldung.

Ich denke, es liegt an der BDE-Konfiguration.
Hast du mal unter Konfiguration/System/Init nachgesehen
und mit dem anderen Server verglichen ?

Wie viele TTables werden denn geöffnet?

BTW:
Unser Programm hier wurde auch mit Delphi1 und BDE (Paradox) gestartet ...
- Form ereugen
- TTable drauf
Name und DB setzen

hach ja, die schöne alte Zeit ;)


Heiko

franktron 21. Jul 2009 08:59

Re: Terminalserver & BDE
 
Kann das sein das in W2008 kein 16Bit kern mehr vorhanden ist und damit der Fehler ausgelöst wird.
In den 64 Bit Versionen von Windows geht die BDE nämlich gar nicht mehr.

Bernhard Geyer 21. Jul 2009 09:07

Re: Terminalserver & BDE
 
Zitat:

Zitat von franktron
Kann das sein das in W2008 kein 16Bit kern mehr vorhanden ist und damit der Fehler ausgelöst wird.

Ja. 64-Bit Windows hat den alten Zopf Win16-Kompatiblität abgeschnitten. Aber das sollte bei 32-Bit BDE eigentlich nur älter BDE-Installer betreffen.

hoika 21. Jul 2009 09:09

Re: Terminalserver & BDE
 
Hallo,

doch, sie geht noch.
Es stimmt, das ganze alte Installs einen 16bit-Startteil hatten.

BDE 5.2
Dort die BDEInfoSetup.EXE nehmen.

Das Teil ist nicht totzukriegen ;)

Die Bde läuft bei mir auch unter XP64,
natürlich in der 32bit Emulation.


Heiko

Bernhard Geyer 21. Jul 2009 09:26

Re: Terminalserver & BDE
 
Und falls doch nicht geht: In Zeiten von Virtuelle Maschienen lass die Anwendung auf einem VM-Ware Server oder ähnlichen auf der W2008-Kiste laufen.

rmb 21. Jul 2009 09:52

Re: Terminalserver & BDE
 
Also die BDE ist installiert und Zugriff funktioniert, zumindest im Prinzip.

W2K8 ist 32 Bit, ich hab jetzt mal etwas Debug eingefügt und bin nur noch verwirrter.

Er öffnet Abfragen und Tabellen um dann die nächste nicht zu öffnen, wohl aber die übernächste. :?:

Die Tabellen haben hinsichtlich der Eigenschaften bis auf die unterschiedlichen Tabellennamen keine Unterschiede.
Der Fehler ereignet sich ibm Bereich der Funktion UpdatDdefs
Da kommt dann die Meldung : Table does not exist.


Der Link zur BDE funzt übrigend`s bei mir nicht :(

franktron 21. Jul 2009 09:58

Re: Terminalserver & BDE
 
Grossklein Schreibung vielleicht ?

hoika 21. Jul 2009 10:14

Re: Terminalserver & BDE
 
Hallo,

Link ist korrigiert (das Internet ist kurzlebig ... ;) )

Also noch mal das Problem

Das gleiche Programm läuft auf einem Server und auf dem anderen nicht ?

Nimm mal den bde-sql monitor und logge mit,
was bei dem entsprechenden Table.Open an sql-Befehlen abgesetzt wird.

Zum Monitor brauchst du folgende Dateien
SMCLIENT.DLL, SQLMON.DE, SQLMON.EXE

Kennst du dich damit aus und hast ihn schon benutzt ?

Noch eine andere Sache.
Benutzt ihr das schema cache Dingens der BDE ?


Heiko

rmb 21. Jul 2009 10:35

Re: Terminalserver & BDE
 
Bingo das scheint es gewesen zu sein. :cheers:

Komischerweise interresiertt das offensichtlich nur im TS-Modus, denn auf dem anderen Server läuft es auch so.

Ich werd das jetzt mal überarbeiten und melde mich dann noch einmal.

Vielen Dank für die schnelle und kompetente Hilfe.

Reiner

hoika 21. Jul 2009 10:43

Re: Terminalserver & BDE
 
Hallo,

hm ?
Was war es denn nun ?


Heiko

rmb 21. Jul 2009 11:02

Re: Terminalserver & BDE
 
Bingo das scheint es gewesen zu sein. :cheers:

Komischerweise interresiert das offensichtlich nur im TS-Modus, denn auf dem anderen Server läuft es auch so.

Ich werd das jetzt mal überarbeiten und melde mich dann noch einmal.

Vielen Dank für die schnelle und kompetente Hilfe.

Reiner

rmb 21. Jul 2009 11:04

Re: Terminalserver & BDE
 
Also es war die Groß / Kleinschreibung.

Offensichtlich wird im TS-Modus darauf Wert gelegt.

Auf dem anderen Server ohne TS-Modus funktioniert es auch so.

Vielen Dank für die schnelle und kompetente Hilfe.

Reienr

hoika 21. Jul 2009 12:00

Re: Terminalserver & BDE
 
Hallo,

was ist das für ein DB-Dialekt, 1 oder 3 ?
Unter dem 1er wird intern alles gross gemacht,
bevor die BDE die Befehle abgeschickt.

Aberegal, looft ja jetzt.

Ist aber sehr, sehr verwunderlch.


Heiko

rmb 21. Jul 2009 15:38

Re: Terminalserver & BDE
 
Die DB ist SQL 3 .

Auch bei Abfragen wird Groß / Klein unterschieden, aber wie gesagt nur auf dem Server im TS-Modus.

Ich werde die Anwendung jetzt mal umstellen und dann ausführlich testen.

Alsdann Berichte ich vom Ergebnis.

Reiner


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz