问题标签 [firebird-embedded]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6183 浏览

firebird - 如何轻松确定 .fdb 文件(Firebird 数据库)的版本

在查看专有软件(可能使用 Firebird Embedded)的 .fdb 数据库时,如何确定需要设置的 Firebird 版本?

我目前能想象的唯一方法是在“ODS-version”处使用十六进制查看器查看,它是页眉的一部分,很可能也用作文件头的格式,然后以某种方式通过存储库进行挖掘历史找出哪个 Firebird 版本支持哪个 ODS 版本。至少现在,ODS 版本的编码如下所述。

相关文档: https ://firebirdsql.org/file/documentation/reference_manuals/reference_material/Firebird-Internals.pdf

相关代码:

https://github.com/FirebirdSQL/firebird/blob/3dd6a2f5366e0ae3d0e6793ef3da02f0fd05823a/src/jrd/ods.h

真的没有更简单的方法来确定所需的 firebird 版本,例如使用一些 cli 工具吗?

0 投票
0 回答
384 浏览

c# - 火鸟实体框架

我正在使用 Firebird 数据库,并且新开​​始使用此数据库,因此我正在使用 Visual Studio 2015 实现。我正在使用ADO.NET访问 Firebird Embedded 数据库,而我的 Firebird Embedded 数据库文件扩展名为.CMP。我成功使用ADO.NET

现在我想与 Firebird Entity Framework 一起使用。我已经成功安装。当我单击实体数据模型并选择 Firebird 数据源时,它会打开我选择的连接属性server type =1(embedded)

这是我的 ADO.NET 连接字符串:

当我单击测试连接时,它显示此错误:

无法加载 DLL fbembed:找不到指定的模块

我已经从 Firebird 下载了嵌入式文件夹并将其添加到项目解决方案中,因此提前选项添加了“客户端库作为项目解决方案中的fbclient.dll文件”为此我收到错误

与数据库的连接丢失

在此处输入图像描述

我怎样才能解决这个问题?

0 投票
0 回答
1207 浏览

c# - 未安装字符集 ISO8859_1

我创建了一个 C# windows 应用程序,它将数据库从 Firebird Server 更新到 SQL Server。它在 Visual Studio 2015 中成功运行,但是当我发布(部署)它并安装在系统或其他系统中以及运行应用程序时,我收到这样的错误Character Set ISO8859_1 is not installed

我在谷歌上搜索过,发现这是一个fbintl没有正确添加到解决方案资源管理器的问题。我已在文件夹中正确删除并添加,并且我已经重新安装了 Firebird 服务器。我仍然遇到同样的错误。

我需要做什么?有什么我想念的吗?我正在使用最新版本的 Firebird 3.0.3(64bit) 和 firebird-embedded 2.5.8,下图是我的解决方案资源管理器。

在此处输入图像描述

0 投票
0 回答
197 浏览

c# - 如何使用 .net 核心在 electron.net 中使用嵌入式 firebird 数据库

我有一个带有 .net 核心的 electron.net 项目,我想使用 Firebird 嵌入式数据库引擎。我怎样才能做到这一点?

简单地说,我想将 Firebird 嵌入式 DLL 添加到我的 electron.net 项目中。所以它帮助我使用与 Firebird 相关的功能。

0 投票
0 回答
439 浏览

c# - 仅在使用 JOIN 时出现错误“CHARACTER SET ISO8859_1 is not installed”

我正在制作一个读取 Firebird 数据库并显示数据的 Windows 窗体应用程序。

我正在使用同事推荐的 DLL 文件:FirebirdSql.Data.FirebirdClient.dll

这是我如何读取数据的示例:

然后,从另一个班级,我打电话给:

它工作得很好,我可以看到数据。当我JOIN在查询中使用 a 时,问题才出现:然后我得到一个异常

Firebird 错误 335544854
CHARACTER SET ISO8859_1 未安装

这可能是什么原因造成的,我该如何解决?

这是我正在使用的查询

0 投票
1 回答
91 浏览

sql - SUM() 只取一行

两个表:“S”(代表“服务”)和“付款”。它们通过被称为外键的“S”.“ID-S”联系在一起:“Payments”.“S”。

我正在尝试为“添加付款”表单中的下拉列表创建查询,但由于我希望允许部分付款,因此我想减去与给定“ID-”相关的已付款总和S”。但是,我似乎无法隐藏通过多次付款获得的服务。

以下是我当前的代码,仅使用“服务”类别之一(在本例中为发票):

它应该显示,例如:

  • 2018 年 1 月 1 日,400 美元
  • 2018 年 2 月 1 日,售价 1050 美元
  • 2018 年 6 月 8 日,售价 750 美元

等等,价格是要支付的剩余价格。它根本不应该显示完全付清的发票。

据我所知,问题在于SUM("Payments"."Amount")不会将所有“金额”列与匹配的“S-ID”相加,它只需要给定行中的“金额”。这对我一点帮助都没有,因为如果一张 3000 美元的发票分别支付了 1000 美元和 2000 美元的两次付款,那么列表不仅仍会显示发票,而且会显示两次——一次剩余 2000 美元,一次还剩 1000 美元。

我将 LibreOffice Base 与 Firebird 一起使用。

编辑:在进一步输入数据后,我发现如上所述显示了一种双重付款的情况(两次以不同的“剩余价格”显示),而另一种这样的双重付款以“$ 0”的价格显示一次,可能是由于完全分成两半?

0 投票
1 回答
2499 浏览

c# - 连接到 .NET 中嵌入 C# 的 Firebird 3 时出现问题

我正在尝试从 .NET 项目连接到 Firebird 3 嵌入式数据库。我已将 Firebird 的所有文件复制到应用程序的执行目录中。我使用了以下连接字符串生成器:

但是我收到以下连接错误

FirebirdSql.Data.FirebirdClient.FbException (0x80004005):
无法完成对主机“xnet://Global\FIREBIRD”的网络请求。

无法完成对主机“xnet://Global\FIREBIRD”的网络请求。

在 FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
在 FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.CreateNewConnectionIfPossibleImpl(FbConnectionString connectionString)
在 FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.GetConnection(FbConnection owner)
在 FirebirdSql.Data.FirebirdClient .FbConnection.Open()
在 DZApp.LoginForm.CheckPassword(String v1, String v2, String v3) 在 C:\Users\DZ\Desktop\DZApp\DZApp\LoginForm.cs:line 89

我知道密码不是必需的,并且已将其删除,但它不起作用,可能是什么问题?

0 投票
0 回答
614 浏览

.net - Firebird 在 macOS 上嵌入 .NET Core

我试图让 Firebird Embedded 在一个简单的 .NET Core (2.1) 控制台应用程序场景中工作。

我的项目文件如下所示:

像这样Program.cs

构建项目后(简单地dotnet build),我将以下文件从 Mac 的二进制包(Firebird-3.0.4-33054-lipo-x86_64.pkg)复制到输出目录(./bin/Debug/netcoreapp2.1):

运行应用程序 ( dotnet MyApp.dll) 后,我得到一个异常:

在过去的 15 年里,我已经在许多场景(网络服务器、嵌入式)和不同的技术(Delphi、.NET、.NET Core)中成功使用了 Firebird,尽管只是在 Windows 上。

有没有人能够帮助解决这个问题或将我指向我可以 RTFM 并自己解决的相关地方?

0 投票
0 回答
237 浏览

entity-framework - 将 Firebird 数据库与实体框架模型连接 - 连接失败

我想将 Firebird 数据库与实体框架模型连接起来。完成成功安装并创建数据库。但是,我在连接数据库时遇到了“索引超出数组范围”的问题。参考下图。 在此处输入图像描述

  • 视觉工作室 2015
  • Firebird 客户端版本 4.10.0.0
  • DDEX 提供程序版本 3.0.2.0
  • 火鸟设置 v3.0.4

我按照此链接中建议的步骤进行操作。但我选择“嵌入式服务器”作为服务器类型。 https://firebirdsql.org/file/documentation/reference_manuals/fbdevgd-en/html/fbdg30-efw-vs-prepare.html

完成上述配置后,我面临以下情况。

因此,我在高级选项中将“fbclient.dll”设置为客户端库。之后我面临这个错误

在此处输入图像描述

我在这里做错了什么?请纠正我。

0 投票
0 回答
121 浏览

c# - 如何从 Firebird DB 中检索中文数据?

我们有一个包含大量表和数据的 Firebird 数据库。它必须同时支持英文和中文。在从数据库中检索中文数据时,数据会自动转换为类似这样的其他格式(è¿åŠ¨åž‹)。

实际上,我们最初使用字符集“NONE”创建数据库,后来使用 UTF-8 重新注册它(以支持多种语言)。

连接字符串为:$"ServerType=1;User=sysdba;Password=masterkey;Dialect=3;Database={FDBPath};client library=fbclient.dll;Charset=UTF8" [服务器类型:嵌入式]

但它在使用以下连接字符串时返回正确的数据: $"ServerType=0;User=sysdba;Password=masterkey;Dialect=3;Database={FDBPath};" [服务器类型:独立]

经过一番研究,我们知道必须使用 UTF-8 字符集创建数据库。但是由于我们有大量数据,因此无法重新创建数据库。

我们有一个解决方法可以将检索到的数据解码为中文。但这不是这个问题的正确解决方案。

那么,如何毫无问题地检索两种语言数据呢?