2

我想從我的MVC 6應用程序運行firebird嵌入式數據庫。我正在使用Fluent Nhibernate。配置如下:如何使用ASP.NET 5運行Firebird嵌入式數據庫?

var firebird = new FirebirdConfiguration(); 

var cs = @"User=SYSDBA;Password=masterkey;Database=SampleDatabase.fdb;DataSource=localhost; 
Port = 3050; Dialect = 3; Charset = NONE; Role =; Connection lifetime = 15; Pooling = true; 
      MinPoolSize = 0; MaxPoolSize = 50; Packet Size = 8192; ServerType = 1; "; 

SessionFactory = Fluently.Configure() 
       .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())) 
       .Database(firebird.ConnectionString(cs)).BuildConfiguration() 
       .BuildSessionFactory(); 

我也安裝了NuGet包FirebirdSql.Data.FirebirdClient

但是我得到的錯誤:

Unable to load DLL 'fbembed': The specified module could not be found.

我想包括這個DLL在我參考,但後來我得到構建錯誤,說這個引用無法恢復。

enter image description here

enter image description here

什麼我需要做的就是這樣運行?

P.S:由於類似的情況/錯誤,我也沒有使用SQLite。

+0

你把'fbembed.dll'(和支持文件)放在哪裏?請注意,將它作爲引用並不真正起作用,Firebird嵌入式不包含在FirebirdSql.Data.FirebirdClient中。 Firebird嵌入式文件需要在應用程序運行時位於路徑上(或與應用程序位於同一文件夾中)。 –

+0

請注意,使用Firebird嵌入Web應用程序 - 在我看來 - 是一個稍微奇怪的選擇:使用真正的Firebird服務器會更好,因爲那樣你就不會遇到體系結構不匹配(32位與64位)問題取決於部署。 –

+0

@MarkRotteveel謝謝,我會嘗試。我正在嘗試爲測試目的安裝一個數據庫。這就是爲什麼我使用嵌入式版本。 – Cemre

回答

0

您可能需要將fbembed.dll添加到您的asp.net應用程序中的bin文件夾以及icu *文件(從Embedded Firebird ZIP包中)到bin文件夾中。