让Mono和Firebird Embedded在Linux上运行

时间:2014-02-06 08:35:34

标签: c# linux mono firebird firebird-embedded

我最近将Firebird Embedded视为可以替代项目中的SQLite的产品。问题是,我希望能够在Windows和Linux上使用相同的应用程序编译,不幸的是,使用SQLite它是不可能的。

尽管如此,我还是无法使用Mono在Linux上运行Firebird(尚未尝试过Windows)。

我做过的事情:

  1. 从NuGet安装Firebird ADO.NET Provider
  2. 已下载32 bit embedded client for Windows libraries并解压缩到我的bin目录:fbembed.dllfirebird.cfgfirebird.msgib_util.dllicudt30.dll,{{1} },icuin30.dll
  3. 使用:

    创建连接字符串
    icuuc30.dll
  4. 但是,我收到错误,在路径中找不到string fbConnectionString = String.Format ("ServerType=1;User=SYSDBA;" + Password=masterkey;Dialect=3;Database={0};Charset=UTF8", _dbFile); FbConnection.CreateDatabase (fbConnectionString);

  5. 我该怎么办?

1 个答案:

答案 0 :(得分:3)

Firebird .NET提供程序主要是为Windows平台开发的。有线协议实现与Mono和Linux一起使用,因此它可以连接到普通的Firebird服务器。

Firebird Embedded的fbembed.dll库特定于Windows,无法在Linux上加载。 .NET provider code确实支持Linux,但看起来你需要专门为linux编译它。我假设NuGet包是编译时支持Windows和Embedded的默认版本。