我最近将Firebird Embedded视为可以替代项目中的SQLite的产品。问题是,我希望能够在Windows和Linux上使用相同的应用程序编译,不幸的是,使用SQLite它是不可能的。
尽管如此,我还是无法使用Mono在Linux上运行Firebird(尚未尝试过Windows)。
我做过的事情:
Firebird ADO.NET Provider
。fbembed.dll
,firebird.cfg
,firebird.msg
,ib_util.dll
,icudt30.dll
,{{1} },icuin30.dll
。使用:
创建连接字符串icuuc30.dll
但是,我收到错误,在路径中找不到string fbConnectionString = String.Format ("ServerType=1;User=SYSDBA;" + Password=masterkey;Dialect=3;Database={0};Charset=UTF8", _dbFile);
FbConnection.CreateDatabase (fbConnectionString);
。
我该怎么办?
答案 0 :(得分:3)
Firebird .NET提供程序主要是为Windows平台开发的。有线协议实现与Mono和Linux一起使用,因此它可以连接到普通的Firebird服务器。
Firebird Embedded的fbembed.dll
库特定于Windows,无法在Linux上加载。 .NET provider code确实支持Linux,但看起来你需要专门为linux编译它。我假设NuGet包是编译时支持Windows和Embedded的默认版本。