【问题标题】:How to run Firebird embedded database with ASP.NET 5?如何使用 ASP.NET 5 运行 Firebird 嵌入式数据库?
【发布时间】:2015-08-19 14:12:41
【问题描述】:

我正在尝试从我的 MVC 6 应用程序运行 firebird 嵌入式数据库。我正在使用 Fluent Nhibernate。配置如下图:

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 包含在我的参考中,但随后我收到构建错误,提示无法恢复此参考。

我需要做什么才能让它运行?

P.S:由于类似的情况/错误,我也未能使用 SQLite。

【问题讨论】:

  • 你把fbembed.dll(和支持文件)放在哪里了。请注意,将其作为参考并不会真正起作用,并且嵌入的 Firebird 不包含在 FirebirdSql.Data.FirebirdClient 中。运行应用程序时,Firebird 嵌入文件需要位于路径上(或与应用程序位于同一文件夹中)。
  • 请注意,在我看来,使用嵌入 Web 应用程序的 firebird 是一个有点奇怪的选择:最好使用真正的 Firebird 服务器,因为这样您就不会遇到架构不匹配的问题( 32 位与 64 位)问题取决于部署。
  • @MarkRotteveel 谢谢,我会试试的。我正在尝试设置一个用于测试目的的数据库。这就是我使用嵌入式版本的原因。
  • 我知道有人使用嵌入 ASP.net 应用程序的 Firebird,所以这是可能的,但我认为您需要在部署中应用一些技巧才能使其正常工作。

标签: c# fluent-nhibernate asp.net-core asp.net-core-mvc firebird-embedded


【解决方案1】:

您可能需要将 fbembed.dll 添加到您的 asp.net 应用程序的 bin 文件夹中,还将 icu* 文件(来自 Embedded Firebird ZIP 包)添加到 bin 文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多