AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird über NTService (Dienst) zugreifen funkt nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird über NTService (Dienst) zugreifen funkt nicht

Ein Thema von Kostas · begonnen am 5. Nov 2013 · letzter Beitrag vom 8. Nov 2013
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 06:39
Die Datei liegt aber immer noch auf einem gemappten Laufwerk. Da der Dienst inen einem anderen Benutzerkontext läuft, kennt dieser dieses Laufwerk nicht!
Markus Kinzler
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.115 Beiträge
 
Delphi 12 Athens
 
#2

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 07:49
Hallo Markus,

Das LW F: ist eine Partition auf der Lokalen Festplatte vom NOTEBOOK. Firebird ist ebenfalls auf NOTEBOOK installiert zufällig auch auf der Partition F:. Der Dienst wurde auf NOTEBOOK installiert und gestartet.
Ich habe es mit Server=localhost/3050 und mit NOTEBOOK/3050 ausprobiert. Die Eigenschaft Database habe ich auch
direkt zugewiesen mit notebook/3050:F:\TC_Projekte\CSV2\Server\Datenbank.FDB und auch
localhost/3050:F:\TC_Projekte\CSV2\Server\Datenbank.FDB. Ich habe auch den Dienst von FB2.5 (Port 3025) gestoppt.
Es bringt alles nichts.

Grundsätzlich würde mich interessieren ob jemand aus dem Forum über einen Dienst auf eine Firebird 1.5 Dialekt 1
Datenbank zugegriffen hat. Die gleiche Anwendung mit den gleichen Einstellungen über notebook/3050:F:\TC_Projekte\CSV2\Server\Datenbank.FDB als Standalone Exe funktioniert einwandfrei.

Gruß Kostas
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 07:50
Ist die Port-Angabe so richtig ('laptop/3050')?
Sollte es nicht 'laptop:3050' heißen?
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.115 Beiträge
 
Delphi 12 Athens
 
#4

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 10:40
Hallo zusammen,

ich habe mit Bordmitteln von Delphi XE2 eine Testanwendung erzeugt die nur die Verbindung zur Datenbank über
IBO 5.2.0.6 öffnet und wieder schießt. Der Dienst wird danach gleich beendet.

Der Dienst wird auf der physikalischen Maschine installiert auf den lokal auf Firebird und die Dantebank installiert
ist. Dennoch bekomme ich die Fehlermeldung
"Zugriffsverletzung bei Adresse 100229DB in Modul 'fbclient.dll'. Schreiben von Adresse 00000054"

Kann mir bitte jemand sagen was ich da falsch mache.
Dankeschön
Kostas
Angehängte Dateien
Dateityp: zip ServiceWithIBO.zip (84,7 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 11:04
Dein Parameterstring scheint falsch zu sein.
Code:
SERVER=notebook/3050
Wird wohl nicht gehen. Evtl. so:
Code:
SERVER=notebook
PORT=3050
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.115 Beiträge
 
Delphi 12 Athens
 
#6

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 11:21
bei den IBO-Komponenten, zumindest bei meiner Version, gibt es keine Eigenschaft "Port"
Den Port kann ich auch komplett weglassen da die Defaulinstanz von Firebird eh auf 3050 hört.
Ich habe alle Varianten bereits ausprobiert. Es scheint nicht am Connectionstring zu liegen.

Irgend eine Kleinigkeit übersehe ich permanent und komme einfach nicht drauf.
Das ist mein erster Versuch auf eine Firebird 1.5 Datenbank über einen Dienst zuzugreifen.
Deshalb weis ich überhaupt nicht ob das generell geht.

Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.361 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 11:55
Hi,

Port gibt es bei IBO nicht. Angabe Server ist so korrekt.
Ich würde dennoch versuchen, notebook durch die IP-Adresse zu ersetzen.

Dann würde ich noch sichergehen, dass die richtige fbclient.dll verwendet wird.

Bei neueren Versionen mit der Fuktion IB_GetClientLibNameFunc:

In die DPR
IB_Session (vor allen nicht zu Delphi gehörigen Units) unter uses und dann:

Delphi-Quellcode:
...
  function GetFBClientLibName: string;
  begin
    Result := ExtractFilePath(Application.ExeName) + 'fbclient.dll';
  end;

begin
  IB_GetClientLibNameFunc := GetFBClientLibName;
  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;
  Application.CreateForm(TService1, Service1);
  Application.Run;
end.
Frank

[EDIT]
Bei den Samples ist bei IBO eine NTServiceApp dabei.
Da wird das Service App Framework (IBS_BASE) verwendet.
Hab das nie gebraucht, aber vielleicht findest du ja dort einen Ansatz.^

Möglicherweise musst du auch den Dienst so konfigurieren, dass Datenaustausch mit Desktop aktiv ist.

[/EDIT]
Frank Reim

Geändert von dataspider ( 7. Nov 2013 um 12:41 Uhr)
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.115 Beiträge
 
Delphi 12 Athens
 
#8

AW: Firebird über NTService (Dienst) zugreifen funkt nicht

  Alt 7. Nov 2013, 23:04
Hallo Frank,

ich habe soeben das Testprojekt umgestellt auf das IBS_Base Framework indem ich einen neuen TService abgeleitet habe von
IBS_Base. Es hat sofort funktioniert. Es funktioniert auch wenn der Service auf der VMWare virtuellen Enwicklungsmaschine Win7 Ultimate 64Bit installiert ist auf dem kein Firebird installiert ist, und der Zugriff
über das Netzwerk auf die Host Maschine (Laptop) auf dem Firebird und die Datenbank sich befinden.

Du schreibst, du hast dieses Framework nie gebraucht. Wenn ich dich richtig verstehe, hast du bereits ein Dienst
geschrieben welcher auf einer Firebirddatenbank zugreifen kann mit den Delphi Bordmitteln ohne das IBS_Base Framework zu nutzen. Ist das so?

Ich frage deshalb weil ich eigentlich die Komponente SvCom für Dienste nutzen möchte. SvCom hat für TService
ebenfalls eine eigene Abhandlung. Ich müsste also versuchen beide TService Abhandlungen zusammen zu setzen.

Das wird nicht so einfach sein schätze ich. Aber wenn du es geschafft hast, würde es ja bedeuten dass es grundsätzlich geht.

Gruß Kostas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz