Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kann ein Dienst über BDE auf eine Datenbank zugreifen? (https://www.delphipraxis.net/54854-kann-ein-dienst-ueber-bde-auf-eine-datenbank-zugreifen.html)

HelmutP 12. Okt 2005 14:43

Datenbank: Oracle • Version: 8i • Zugriff über: BDE

Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Hallo,

ich möchte aus einer fertigen Anwendung einen Dienst machen.
Diese Anwendung baut über BDE eine Verbindung zu einer Oracle-Datenbank auf.
Ich habe es bereits mit verschiedenen Tools (AppToService, Firedeamon) probiert, die eine Anwendung zum Dienst machen. Damit hat es nicht geklappt.
Jetzt möchte ich es selber programmieren, frage mich aber ob das überhaupt geht.

Kann ein Anwendung, die als Windows-Dienst läuft, eine Verbindung über die BDE zur Datenbank aufbauen?

Bernhard Geyer 12. Okt 2005 15:14

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Zitat:

Zitat von HelmutP
Kann ein Anwendung, die als Windows-Dienst läuft, eine Verbindung über die BDE zur Datenbank aufbauen?

Eigentlich Ja. Aber mach nicht den Fehler das du den zu verwendeten ODBC-Eintrag als "Benutzer DSN" anlegst. Dieser ist in einem Dienst (unter anderem Konto) nicht sichtbar. "System-DSN" wäre das richtige.

Welchen Fehlermeldung bekommst Du denn?

BeerBear 12. Okt 2005 15:27

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Was hat nicht geklappt? Die Anwendung zum Dienst zu machen, oder dass der Dienst die Verbindung zur DB herstellt?

Ich hab dann wohl ein ähnliches Problem. Ich hab in naher Zukunft die Aufgabe eine Art Taskplaner zu schreiben, dessen Aufgaben ebenfalls in einer Oracle DB abgelegt werden.
Das ganze soll dann auf einem Server laufen und auch gestartet werden, wenn kein Benutzer angemeldet ist.
Und die einzige Möglichkeit das für alle Windows Versionen zu realisieren, ist die Anwendung als Dienst laufen zu lassen, da Dienste beim Systemstart gestartet werden. ( Ab WIN 2000 gibt es eine andere Möglichkeit. )

Dazu hab ich auch diverse Tools wie AppToService,... getestet.
Allerdings nur mit einer Anwendung, die lokal eine Log Datei erstellt in die sie schreibt, wann sie gestartet wurde. Hat wunderbar geklappt und ich bin davon ausgegangen, dass das dann auch mit allen anderen Anwendungen funktioniert.

MfG Flo

HelmutP 12. Okt 2005 15:42

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Ich habe mit "AppToService" die Anwendung als Dienst installieren können. Die Verbindung zur Datenbank war aber dann nicht möglich.
Mit dem Tool "Firedeamon" hatte ich auch keinen Erfolg. Obwohl ich dem Support das Problem genau geschildert habe.

Und ODBC spielt in der Anwendung überhaupt keine Rolle.

Bernhard Geyer 12. Okt 2005 15:57

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Zitat:

Zitat von HelmutP
Und ODBC spielt in der Anwendung überhaupt keine Rolle.

BDE und Oracle aber kein ODBC. D.h. du verwendest wohl SQL-Links bzw. wie ist dein genauer Zugriffsweg

Anwendung -> BDE -> ??? -> Oracle8

Jelly 12. Okt 2005 16:56

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Zitat:

Zitat von BeerBear
Und die einzige Möglichkeit das für alle Windows Versionen zu realisieren, ist die Anwendung als Dienst laufen zu lassen, da Dienste beim Systemstart gestartet werden.

Windows 95,98 und ME unterstützen keine Dienste... Nur zur Vervollständigung.

BeerBear 13. Okt 2005 08:28

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Schon mal einen Windows 98 Server gesehen?

Ich meine natürlich alle Versionen auf der NT Schiene.

jensw_2000 13. Okt 2005 08:53

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Zu beachten wäre da imho noch, dass das lokale Systemkonto keinen Zugriff auf Netzwerkressourcen hat.
Eventuell funktioniert es deshalb nicht.
Starte den Dienst doch mal (testweise) mit einem Benutzerkonto, das standardmäßig Zugriff auf die Datenbank hat.

:hi:

HelmutP 17. Okt 2005 15:56

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Zitat:

BDE und Oracle aber kein ODBC. D.h. du verwendest wohl SQL-Links bzw. wie ist dein genauer Zugriffsweg
Die BDE hat einen eigenen Oracle-Treiber. D.h., von der BDE kann man direkt auf Oracle zugreifen.

Zitat:

Starte den Dienst doch mal (testweise) mit einem Benutzerkonto, das standardmäßig Zugriff auf die Datenbank hat.
Das habe ich auch schon probiert, aber ohne Erfolg. Es war keine Verbindung zur Datenbank möglich.

Bernhard Geyer 17. Okt 2005 16:41

Re: Kann ein Dienst über BDE auf eine Datenbank zugreifen?
 
Zitat:

Zitat von HelmutP
Zitat:

BDE und Oracle aber kein ODBC. D.h. du verwendest wohl SQL-Links bzw. wie ist dein genauer Zugriffsweg
Die BDE hat einen eigenen Oracle-Treiber. D.h., von der BDE kann man direkt auf Oracle zugreifen.

Das wäre mir neu das dieser Treiber ähnlich wie Paradox oder der Acceess-DAO-Treiber eingebunden wäre. Ich habe nämlich keinen bei meiner D6-Pro-Version. Also müsste es ein SQL-Links-Treiber sein.

Kannst Du uns eigentlich die genaue Fehlermeldung geben. Oder hängt sich das Programm auf?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr.
Seite 1 von 2  1 2      

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