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
Seite 3 von 3     123   
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.099 Beiträge
 
Delphi 10 Seattle Enterprise
 
#21

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

  Alt 7. Nov 2013, 11: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
 
#22

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

  Alt 7. Nov 2013, 12: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.099 Beiträge
 
Delphi 10 Seattle Enterprise
 
#23

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

  Alt 7. Nov 2013, 12: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.351 Beiträge
 
Delphi 11 Alexandria
 
#24

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

  Alt 7. Nov 2013, 12: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 13:41 Uhr)
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.099 Beiträge
 
Delphi 10 Seattle Enterprise
 
#25

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

  Alt 8. Nov 2013, 00: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
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.099 Beiträge
 
Delphi 10 Seattle Enterprise
 
#26

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

  Alt 8. Nov 2013, 17:44
Hallo zusammen,

jetzt funktionierts nachdem ich den entscheidenden Hinweis über YahooGroups zufällig gelesen habe.
Es muss NUR eine TIB_Session Komponente auf die TService Form und alles ist gut. Die Komponente TIB_Connection
hat ja eine integrierte TIB_Session das ist die Default session. Für Dienste darf die nicht verwendet werden.
Also die TIB_Connection mit der TIB_Session verheiraten und schon funkts.

Ist doch wie Weihnachten.


Gruß Kostas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 14: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