1

In an ASP.NET MVC project (using Entity Framework 4.1 code first approach) i added a reference to C:\Program Files\FirebirdClient\FirebirdSql.Data.FirebirdClient.dll.

The configuration in Web.config looks as follows:

<system.data>
    <DbProviderFactories>
      <remove invariant="FirebirdSql.Data.FirebirdClient"/>
      <add
          name="Firebird Data Provider"
          invariant="FirebirdSql.Data.FirebirdClient" description="Firebird"
          type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.6.5.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"          
      />
    </DbProviderFactories>
  </system.data>

The connection string looks like this (database is non existend, should be generated from Entity Framework):

<add name="AdvertiserDatabase"
      connectionString="ServerType=1;User=SYSDBA;Password=masterkey;Dialect=3;Database=|DataDirectory|AdvertiserDb.fdb"
      providerName="FirebirdSql.Data.FirebirdClient"/>

Added all the needed files (firebird.msg, icu*30.dll) to the bin folder, added also the folders intl and udf.

Renamed the fbembed.dll to fbclient.dll.

At runtime i get the following error: Unable to load DLL 'fbembed': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

What is going wrong? This should work!

Thanks in advance

EDIT In the output window i noticed the following messages (which confuses me a lot):

WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'FB_965910463.dll'
A first chance exception of type 'System.DllNotFoundException' occurred in FB_965910463.dll
A first chance exception of type 'System.DllNotFoundException' occurred in FirebirdSql.Data.FirebirdClient.dll
A first chance exception of type 'System.Data.ProviderIncompatibleException' occurred in System.Data.Entity.dll
A first chance exception of type 'System.Data.ProviderIncompatibleException' occurred in EntityFramework.dll
A first chance exception of type 'System.Data.ProviderIncompatibleException' occurred in System.Web.Mvc.dll
A first chance exception of type 'System.Data.ProviderIncompatibleException' occurred in System.Web.Mvc.dll
A first chance exception of type 'System.NotSupportedException' occurred in mscorlib.dll
A first chance exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Hugues Van Landeghem
  • 6,755
  • 3
  • 34
  • 59
Savvas Sopiadis
  • 8,213
  • 10
  • 34
  • 53

2 Answers2

1

You should not rename fbembed.dll to fbclient.dll. But you can also use ClientLibrary (check FbConnectionStringBuilder class) paramenter in connection string to specify the name (and path).

cincura.net
  • 4,130
  • 16
  • 40
0

Define the Path to your fbembed.dll in your connectionstring with "ClientLibrary"

Sample:

<add name="myconn" connectionString="User=SYSDBA;Password=masterkey;Dialect=3;Database=|DataDirectory|mydatafile.fdb;ServerType=1;ClientLibrary=AbsolutePathToDll\fbembed.dll" />