Incorrect Exception - Could not find FirebirdSql.Data.FirebirdClient.resources
------------------------------------------------------------------------------

                 Key: DNET-488
                 URL: http://tracker.firebirdsql.org/browse/DNET-488
             Project: .NET Data provider
          Issue Type: Bug
         Environment: Window 7
            Reporter: Manfred Roßkamp
            Assignee: Jiri Cincura
            Priority: Minor


If you cause an exception for example with the following incorrect sql 
statement: 
"select date() from xy"
I get the following exception:
{"Die Datei \"FirebirdSql.Data.FirebirdClient.resources\" konnte nicht gefunden 
werden.":null}
(Look at the end of this description for the stacktrace)

In my environment i have the following dictionary structure:

MyApp.exe
Firebird\x32\FirebirdSql.Data.FirebirdClient.dll
Firebird\x32\*(32 bit Firebird embedded Version)
Firebird\x64\FirebirdSql.Data.FirebirdClient.dll
Firebird\x64\*(64 bit Firebird embedded Version)

MyApp is compiled in AnyCPU and it load's dynamically the 
FirebirdSql.Data.FirebirdClient.dll from the correct subfolder.

I solved this problem with the following changes in 
FirebirdSql.Data.Common.IscException
1. Add the following method to get the correct resource set:

                #region -  Statics - 

                private static Dictionary<string, ResourceSet> resources = new 
Dictionary<string, ResourceSet>();

                private static ResourceSet GetResourceSet(string name)
                {
                        ResourceSet result;

                        if (!resources.TryGetValue(name, out result))
                        {
                                using (var resStream = 
Assembly.GetExecutingAssembly().GetManifestResourceStream(
                                        name + ".resources"))
                                {
                                        result = new ResourceSet(resStream);
                                        resources[name] = result;
                                }
                        }

                        return result;
                }

                #endregion

2. Call the specified method instead of creating a new ResourceManager




at
   bei System.Reflection.RuntimeAssembly.InternalGetSatelliteAssembly(String 
name, CultureInfo culture, Version version, Boolean throwOnFileNotFound, 
StackCrawlMark& stackMark)
   bei 
System.Resources.ManifestBasedResourceGroveler.GetSatelliteAssembly(CultureInfo 
lookForCulture, StackCrawlMark& stackMark)
   bei 
System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo 
culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean 
createIfNotExists, StackCrawlMark& stackMark)
   bei System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo 
requestedCulture, Boolean createIfNotExists, Boolean tryParents, 
StackCrawlMark& stackMark)
   bei System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo 
culture, Boolean createIfNotExists, Boolean tryParents)
   bei System.Resources.ResourceManager.GetString(String name, CultureInfo 
culture)
   bei System.Resources.ResourceManager.GetString(String name)
   bei FirebirdSql.Data.Common.IscException.BuildSqlState()
   bei FirebirdSql.Data.Common.IscException.BuildExceptionData()
   bei FirebirdSql.Data.Client.Native.FesConnection.ParseStatusVector(IntPtr[] 
statusVector, Charset charset)
   bei FirebirdSql.Data.Client.Native.FesDatabase.ParseStatusVector(IntPtr[] 
statusVector)
   bei FirebirdSql.Data.Client.Native.FesStatement.Prepare(String commandText)
   bei FirebirdSql.Data.FirebirdClient.FbCommand.Prepare(Boolean returnsSet)
   bei FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteCommand(CommandBehavior 
behavior, Boolean returnsSet)
   bei FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteReader(CommandBehavior 
behavior)
   bei 
FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteDbDataReader(CommandBehavior 
behavior)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to