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
Kostas

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

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

  Alt 5. Nov 2013, 22:36
Hallo Zusammen,
hallo Thomas, schon lange nicht mehr voneinander gehört. Ich hoffe es geht dir soweit gut.

Ich habe den Dienst nun als Standalone Exe laufen lassen und es funkt alles einwandfrei.
Auch ein Neustart hat nicht gebraucht. Den User "NT AUTHORITY" habe ich auf mein Win7 Ultimate 64Bit
nicht. Dafür konnte ich jedoch den Dienst-Anmeldung-DiesesKonto= "NETZWERKDIENST" mit dem Admin Passwort angeben.

Für IBO habe ich der TIB_Connection wie immer:
cn1.Server := Computername/3050
cn1.Protocol := 'cpTCP_IP'
cn1.Path := 'F:\Real path zur Datenbank\Datenbank.FDB'

Damit funktioniert der Dienst als Standalone Exe einwandfrei.
Nur der Dienst macht Zicken mit der Fehlermeldung Zugriffsverletzung bei Adresse 10013621 in Modul 'fbclient.dll'. Schreiben von Adresse 00000054

Wie gesagt, die richtige fbclient.dll habe ich auch im Exe Verzeichnis kopiert.

Übrigens, die Entwicklungsmaschine ist vistualisiert mit VMWare Workstation 9.0.2
Delphi XE2 und der Dienst laufen auf der vistualisierten Maschine Win7 Ultimate 64Bit.
Firebird läuft nur auf der Host-Maschine in zwei Instanzen FB1.5 Port 3050 und FB2.5 Port 3025.
Das LW F: ist eine Netzlaufwerk auf der Host-Maschine, ebenfalls Win7 Ultimate 64Bit.
LW F: ist auch freigegeben für "Jeder" und zusätzlich jetzt auch für "NETZWERKDIENST".
Hat leider auch nicht funktioniert.

Hat jemand noch eine Idee?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

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

  Alt 6. Nov 2013, 06:30
Das ist ja kein TCP Connectstring. Woher soll denn der Dienst bitte das Laufwerk F: kennen? also entweder <Server>:<lokaler Serverpfad> oder <Ip-Adresse>:<lokaler Serverpfad>
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#3

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

  Alt 6. Nov 2013, 07:41
Das ist ja kein TCP Connectstring. Woher soll denn der Dienst bitte das Laufwerk F: kennen? also entweder <Server>:<lokaler Serverpfad> oder <Ip-Adresse>:<lokaler Serverpfad>
IBObjects "baut" sich den Connectstring aus den Angaben cn1.Server und cn1.Path.
Michael Justin
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#4

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

  Alt 6. Nov 2013, 07:45
Das LW F: ist eine Netzlaufwerk auf der Host-Maschine, ebenfalls Win7 Ultimate 64Bit.
LW F: ist auch freigegeben für "Jeder" und zusätzlich jetzt auch für "NETZWERKDIENST".
Die Firebird Datenbankdatei muss nicht auf einem Netzlaufwerk liegen, um über TCP erreichbar zu sein! Ich würde eher stark davon abraten.

Sie sollte nur lokal erreichbar sein, und auch nicht in einem freigegebenen Ordner liegen.
Michael Justin
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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

  Alt 6. Nov 2013, 08:08
Der Pfad muss aus Sicht des Servers aufgebaut sein. Eine direkter Zugriff auf die Datenbankdatei vom Client aus ist aus Sicherheitsgründen zu unterbinden.
Markus Kinzler
  Mit Zitat antworten Zitat
ThomasBab

Registriert seit: 7. Mai 2007
Ort: Hallenberg
57 Beiträge
 
FreePascal / Lazarus
 
#6

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

  Alt 6. Nov 2013, 08:19
Hallo!

Ich habe mir (aus leidvoller Erfahrung) angewöhnt, grundsätzlich über einen Alias auf die Datenbank zuzugreifen.

Außerdem sollte man bedenken, dass ein Dienst keine Freigaben und auch keine Laufwerksbuchstaben kennt (imho)
Thomas
  Mit Zitat antworten Zitat
Kostas

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

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

  Alt 6. Nov 2013, 08:39
Hallo Zusammen,

Dankeschön für die zahlreihe Antworten.
Ich bin es von IBO gewohnt dass er selbstständig den Path in TCP Konvention anpasst wenn ein Server und das Protokoll 'cpTCP_IP' angegeben ist. Anscheinend ist es bei einem Dienst anders. Wenn der "Dienst" als Standalone Exe läuft, wird der Path angepasst und alles läuft einwandfrei. Jetzt funktioniert auch der Dienst nachdem ich den
Path angepasst habe in TCP Konvention, auch über das das Netzwerk einwandfrei. Ich habe die Konstellation nur während der Entwicklungsphase. Der Dienst wird dann schon auf dem Produktiv-Server laufen auf dem FB und die DB installiert sind.

Herzlichen Dank an alle und einen schönen Tag.
  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 6. Nov 2013, 12:32
Sorry dass ich nochmals zurückkomme, ich habe mich vorher geirrt und war zur voreilig mit der Meldung jetzt geht’s. Ich habe nur schnell auf die lange Fehlerzeile im Log geschaut. Weil sie nicht mehr da war, war ich der Meinung jetzt geht’s. Aber das war nur eine andere kürzere Fehlermeldung
„Verbindungspfad nicht gültig“ Kurzum, es funktioniert die Verbindung zur FB-Datenbank über den Dienst nicht. Ich übergebe nur noch TIB_Connection1.database := notebook/3050:F:\TC_Projekte\CSV2\Server\Datenbank.FDB
Den Dienst habe ich auf der physikalischen Maschine installiert. Der Name meiner Maschine ist notebook, FB1.5 hört auf den Port 3050, der angegebene Pfad ist wirklich vorhanden auf der Partition F: und ist kein Netzlaufwerk.
Egal was ich versuche, ich bekomme Zugriffsverletzung bei Adresse 10013621 in Modul 'fbclient.dll'. Schreiben von Adresse 00000054. Starte ich den "Dienst" als Standalone Exe funktioniert die Verbindung einwandfrei.

Sorry nohmals für die Irreführung.
Gruß Kostas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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
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 07:18 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