![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: Embedded
Firebird RDB$SET_CONTEXT im Embedded-Modus
Hi,
kann es sein, dass die Funktion RDB$SET_CONTEXT im Embedded-Modus nicht funktioniert? Ich habe mir folgende Procedure angelegt:
Code:
Wenn ich mittels TCP/IP auf die Datenbank zugreife, kann ich damit wunderbar einen Usernamen unabhängig vom Firebird-User definieren und später auslesen.
RECREATE PROCEDURE SYS$SET_CURRENT_USER (
USERNAME VARCHAR(30)) AS BEGIN RDB$SET_CONTEXT('USER_SESSION', 'SYS$CURRENT_USER', :USERNAME); END In der Embedded-Variante bekomme ich folgende Fehlermeldung: Zitat:
Gibt es eine Möglichkeit, auch im Embedded-Modus mit Context-Variablen zu arbeiten? |
AW: Firebird RDB$SET_CONTEXT im Embedded-Modus
Hört sich ein bißchen danach an, dass in deiner Embedded Distribution nicht alle benötigten Dateien inkludiert sind. Wie sieht denn deine Verzeichnisstruktur genau aus?
|
AW: Firebird RDB$SET_CONTEXT im Embedded-Modus
Au ha, jau das war es...
Da habe ich ehrlich gesagt gar nicht dran gedacht. Ich bekam das Problem mit ![]() Die liefern wohl einen ziemlich altes und unvollständiges FB-Embedded-Paket aus. Habe mir die aktuelle Embedded-Version heruntergeladen und die alten Dateien entsprechend ersetzt, nu geht's. :-) Danke |
AW: Firebird RDB$SET_CONTEXT im Embedded-Modus
Hallo,
ich stelle jetzt einfach mal in den Raum, dass ich Embedded nicht in der Entwicklung verwende würde, sondern eine normale Serverinstallation, damit unterschiedliche Connections durch einen Server gebündelt werden. Embedded sollte eigentlich nur eine Rolle in Richtung Deployment zum Kunden spielen. Aber das Ganze ist vermutlich Geschmackssache und da Embedded 2.5 mehrere Connections von unterschiedlichen Prozessen zur selben Datenbankdatei ermöglicht/erlaubt, wird man diesbzgl. auch etwas faul. :-D |
AW: Firebird RDB$SET_CONTEXT im Embedded-Modus
Naja, eigentlich mache ich es so:
Single-User-Betrieb / Demos / USB-Stick-Version: Embedded Multi-User-Betrieb: Server Natürlich verwende ich für die Entwicklung auch die Server Version, allerdings muss ich das ja auch in der Embedded-Version testen, wenn ich es dem Kunden anbieten möchte. Und da hat es mich halt gerade gewundert, dass die UDFs nicht funktionieren. Das Problem trat aber wie gesagt überhaupt nicht in meinem Programm auf, sondern schon beim Datenbank-Designen. |
AW: Firebird RDB$SET_CONTEXT im Embedded-Modus
Zitat:
Hmmm, wenn ich mich mit der Embedded arbeite (Version 2.5.1), diese mit "Database Workbench v4.3.2 Pro" öffne & dann versuche mit der Anwendung (UniDAC) auf die selbe Database zugreifen will erhalte ich nachfolgende Exception:
Code:
---------------------------
Benachrichtigung über Debugger-Exception --------------------------- Im Projekt TEST.exe ist eine Exception der Klasse EIBCError mit der Meldung ' I/O error during "CreateFile (open)" operation for file "C:\PROGRAMDATA\TEST\DATABASE\test.FDB" Error while trying to open file Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. ' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- |
AW: Firebird RDB$SET_CONTEXT im Embedded-Modus
Ja, vermutlich ein Mix aus 32-bit Embedded und 64-bit Server. Obwohl in 2.5 Verbindungen von mehreren Embedded/Server-Prozessen aus möglich ist, eine Mischung 32-bit vs. 64-bit geht nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 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