问题标签 [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.
firebird - 如何轻松确定 .fdb 文件(Firebird 数据库)的版本
在查看专有软件(可能使用 Firebird Embedded)的 .fdb 数据库时,如何确定需要设置的 Firebird 版本?
我目前能想象的唯一方法是在“ODS-version”处使用十六进制查看器查看,它是页眉的一部分,很可能也用作文件头的格式,然后以某种方式通过存储库进行挖掘历史找出哪个 Firebird 版本支持哪个 ODS 版本。至少现在,ODS 版本的编码如下所述。
相关代码:
https://github.com/FirebirdSQL/firebird/blob/3dd6a2f5366e0ae3d0e6793ef3da02f0fd05823a/src/jrd/ods.h
和
真的没有更简单的方法来确定所需的 firebird 版本,例如使用一些 cli 工具吗?
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文件”为此我收到错误
与数据库的连接丢失
我怎样才能解决这个问题?
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,下图是我的解决方案资源管理器。
c# - 如何使用 .net 核心在 electron.net 中使用嵌入式 firebird 数据库
我有一个带有 .net 核心的 electron.net 项目,我想使用 Firebird 嵌入式数据库引擎。我怎样才能做到这一点?
简单地说,我想将 Firebird 嵌入式 DLL 添加到我的 electron.net 项目中。所以它帮助我使用与 Firebird 相关的功能。
c# - 仅在使用 JOIN 时出现错误“CHARACTER SET ISO8859_1 is not installed”
我正在制作一个读取 Firebird 数据库并显示数据的 Windows 窗体应用程序。
我正在使用同事推荐的 DLL 文件:FirebirdSql.Data.FirebirdClient.dll
这是我如何读取数据的示例:
然后,从另一个班级,我打电话给:
它工作得很好,我可以看到数据。当我JOIN
在查询中使用 a 时,问题才出现:然后我得到一个异常
Firebird 错误 335544854
CHARACTER SET ISO8859_1 未安装
这可能是什么原因造成的,我该如何解决?
这是我正在使用的查询
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”的价格显示一次,可能是由于完全分成两半?
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
我知道密码不是必需的,并且已将其删除,但它不起作用,可能是什么问题?
.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 并自己解决的相关地方?
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”设置为客户端库。之后我面临这个错误
我在这里做错了什么?请纠正我。
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 字符集创建数据库。但是由于我们有大量数据,因此无法重新创建数据库。
我们有一个解决方法可以将检索到的数据解码为中文。但这不是这个问题的正确解决方案。
那么,如何毫无问题地检索两种语言数据呢?