1

ASP.NET MVC プロジェクト (Entity Framework 4.1 コードの最初のアプローチを使用) で、C:\Program Files\FirebirdClient\FirebirdSql.Data.FirebirdClient.dll への参照を追加しました。

Web.config の構成は次のようになります。

<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>

接続文字列は次のようになります (データベースは存在しないため、Entity Framework から生成する必要があります)。

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

必要なすべてのファイル (firebird.msg、icu*30.dll) をbinフォルダーに追加し、フォルダー intl および udf も追加しました。

fbembed.dll の名前を fbclient.dll に変更しました。

実行時に次のエラーが表示されます: DLL 'fbembed' を読み込めません: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)

何がうまくいかないのですか?これはうまくいくはずです!

前もって感謝します

EDIT 出力ウィンドウで、次のメッセージに気付きました(これは私を大いに混乱させます):

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
4

2 に答える 2

1

fbembed.dll の名前を fbclient.dll に変更しないでください。ただし、接続文字列で ClientLibrary (FbConnectionStringBuilder クラスを確認) パラメータを使用して、名前 (およびパス) を指定することもできます。

于 2012-01-04T16:04:23.257 に答える
0

「ClientLibrary」を使用して、接続文字列で fbembed.dll へのパスを定義します。

サンプル:

<add name="myconn" connectionString="User=SYSDBA;Password=masterkey;Dialect=3;Database=|DataDirectory|mydatafile.fdb;ServerType=1;ClientLibrary=AbsolutePathToDll\fbembed.dll" />
于 2015-09-11T09:24:12.900 に答える