I had an issue that I posted to the firebird-support list last week that I
thought was related to upgrading my application to use Firebird 2.0.1.
However, after some research I was able to track it down to the .Net
provider. I was getting the following error in my logs when trying to
connect to an embedded Firebird database from my application:

 

STACK TRACE: FirebirdSql.Data.FirebirdClient.FbException: operating system
directive CreateFileMapping failed --->
FirebirdSql.Data.Common.IscException: Exception of type
'FirebirdSql.Data.Common.IscException' was thrown.
 at  FirebirdSql.Data.Client.Embedded.FesDatabase.ParseStatusVector(Int32[]
statusVector)
 at
FirebirdSql.Data.Client.Embedded.FesDatabase.Attach(DatabaseParameterBuffer
dpb, String dataSource, Int32 port, String database)
 at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
 --- End of inner exception stack trace ---
 at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
 at FirebirdSql.Data.FirebirdClient.FbConnectionPool.Create()
 at FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut()
 at FirebirdSql.Data.FirebirdClient.FbConnection.Open()
 at Brashers.E_CR_DataObjects.CannedNote.InsertDownloaded()

 

Like I said, I thought it was my upgrade to Firebird 2.0.1 that was the
culprit, but after reverting the database to 1.5.3, the error persisted. The
only other change was that I was now using version 2.0.1 of the .Net
provider instead of version 1.7. After a little research, I stumbled onto
this page:

 

http://msdn2. <http://msdn2.microsoft.com/en-us/library/aa366537.aspx>
microsoft.com/en-us/library/aa366537.aspx

 

Which explained that for the file mapping to work when connecting to a
database on the terminal server, I need to give my users "Create global
objects" rights. According to http://207.46.
<http://207.46.196.114/WindowsServer/en/library/fa01a57a-a0ef-4cb9-af9a-f301
82a25bf71033.mspx>
196.114/WindowsServer/en/library/fa01a57a-a0ef-4cb9-af9a-f30182a25bf71033.ms
px the "Create Global Objects" permission is recommended for the
Administrators group and the Local System group.

 

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?

 

Sorry if this is information you have already seen (due to my post on the
firebird-support group), but I wasn't really sure where to post this for the
best help.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to