Subject Re: [firebird-support] Re: Embedded Firebird 2.0.1 on Windows 2003 Terminal server
Author Helen Borrie
At 03:02 AM 10/04/2007, jasonw wrote:
>I have discovered what caused the problem. I'm not sure where it needs
>to be posted because I think it might be related to the .Net Firebird
>provider, but I'm not sure. The issue is with permissions on the
>terminal server specifically. Apparently, when connecting to the
>embedded database, a file mapping is created in the global objects
>cache. For a terminal server user to be able to do that, they need the
>"Create Global Objects" permission. I discovered this in this article
>from Microsoft:
>
>http://msdn2.microsoft.com/en-us/library/aa366537.aspx
>
>According to
>http://207.46.196.114/WindowsServer/en/library/fa01a57a-a0ef-4cb9-af9a-f30182a25bf71033.mspx
>the "Create Global Objects" permission is recommended for the
>Administrators group and the Local System group.
>
>To help anyone who might run into this problem in the future, these
>are the steps I followed to enable this permission:
>
>1. Open Administrative Tools -> Local Security Settings on the
>terminal server.
>2. Under "Create global objects" make add the users or groups that you
>want to run the embedded server.
>
>I'm not sure if the embedded server needs to create global objects.
>Would it be possible to use local objects under an embedded
>application since only one process can have access to the database? Is
>there something I can do when connecting to the Firebird database to
>not use global memory objects?

Did you chance to check over firebird.conf in the process of
upgrading to Firebird 2?

# ----------------------------
# Local Connection Settings
#
# The name of the shared memory area used as a transport channel in
local protocol.
# Note that the local protocol in v2.0 is not compatible with any
previous version
# if Firebird or InterBase.
#
# IMPORTANT! If your host OS is Windows 2003 or Windows XP with the terminal
# services enabled and you need the local connection to work, you should prefix
# the below value with "Global\", i.e. it should be
"Global\FIREBIRD". Please note
# that the prefix is case-sensitive.
#
# Type: string
#
#IpcName = FIREBIRD

./hb