问题标签 [firebird-3.0]

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 回答
645 浏览

sql - Firebird 程序中的错误

我必须做一个查询才能得到一个参数(我需要一个“1”),但是这个参数可以在不同的单元格中,例如:

我必须捕获,然后,如果它等于一个,则执行其他查询以获得我想要的。我尝试用这段代码做一个程序:

执行查询时出现此错误:

我尝试删除 FOR 和 Do 的工作,出现此错误:

有人可以帮助我完成此程序或向我解释失败的原因吗?

0 投票
1 回答
710 浏览

firebird - SELECT 语句的字段列表中的参数 - 错误:数据类型未知

我对 Firebird(嵌入式)数据库有疑问。我想在 select 语句中设置一个参数值。例如:

其中:string是一个参数。上面的代码在 SQLite 中工作,结果是(当参数是“abcdef”时):

当我尝试执行此查询时,我收到以下消息:“在 SQL 语句的应用程序输入参数中发现错误。

0 投票
1 回答
136 浏览

sql - 在一个 firebird 过程中显示两个不相关且没有相互字段的选择查询

如何正确显示两个不相关的选择查询,在过程中没有相互字段?

当我尝试使用此程序呼叫他们时,

我得到这个结果

这是我想要的结果

0 投票
1 回答
195 浏览

delphi - 为什么 Delphi IBX TWideMemoField 转换 UTF8 字符串中的字节顺序以及如何避免它?

我在 Firebird 3 数据库上使用带有 IBX 的 Delphi 2009(我没有选择其他技术的选择,我必须适应这种情况)。我有以下定义:

Firebird BLOB 字段定义为:

TWideMemoField 定义为:

测试字符串是“Цель по инфляции, %”,可以从 IBExpert 软件的 BLOB 字段中读取为:

奇怪的是,Delphi 颠倒了字节顺序,例如西里尔字符 Ц 具有 HEX UTF8 表示为 04 26,但它在数据库中存储为 26 04 并且类似的情况也与其他字符完全相同(可以使用表格的帮助https://www.w3schools.com/charsets/ref_utf_basic_latin.asphttps://www.w3schools.com/charsets/ref_utf_cyrillic.asp)。就我而言,我只有 2 个字节的字符,但我想类似的情况也会出现在 3 个和 4 个字节的 UTF8 字符上。

那么 - 我如何配置 TWideMemoField 以要求不转换 UTF8 字符串的字节顺序?

0 投票
1 回答
21377 浏览

database - 忘记 *fdb (firebird) 数据库的用户名和密码。无论如何我可以破解这个数据库吗?

我有超过 8 GB 的 firebird 数据库,我想从中迁移所有数据。但是我忘记了用户名和密码。有没有什么工具可以破解这个数据库并取回我的数据?

0 投票
2 回答
167 浏览

mysql - 如何将功能从 MySQL 转换为 Firebird?

如何将此功能转移到火鸟

0 投票
1 回答
924 浏览

delphi - Delphi IBX异常处理中的Firebird 3.x错误“尝试执行未准备好的动态SQL语句”?

我正在使用带有 IBX 组件的 Delphi 2009 Unicode 和 Firebird 3.x UTF8/方言 3 数据库。现在我看到从 Firebird SQL 过程和触发代码(例如 usingexception my_exception;语句)引发的所有异常都由 IBX 作为特殊的 Firebird 异常处理:

IBX 不报告原始 Firebird 异常的名称/代码/内容。这很奇怪,因为 Delphi 2009 IBX 可以毫无问题地处理 Firebird 2.1 UTF8/Unicode 异常。在我看来,IBX 正在尝试执行一些不允许的额外步骤。

当然,我知道所有从 IBX 迁移到其他框架的建议,但我们并不是生活在理想的世界中,所以问题就是这样。

问题扩展:在项目文件中初始化代码后(这是 IB 例程http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/IB_SetIBDataBaseErrorMessages.html):

我从触发器引发的异常中收到正常的错误消息,但在 SQL 过程引发异常的情况下,我仍然会收到通用的“尝试执行...”错误消息。

问题更新:当从 IBX TIBStoredProc 调用过程时出现有关尝试的一般异常,但如果从 TIBDataSet 调用存储过程(通过 select from...),则会出现正确的错误消息。所以 - TIBStoredProc 如何处理错误消息应该有问题。

0 投票
0 回答
191 浏览

firebird - Firebird 2.5.8、3.0.4 unicode_ci_ai 索引问题

我在 Linux 和 Windows 中使用 Firebird 3.0.4 x64,Superserver

我使用 colation unicode_ci_ai 迁移到 utf8 的数据库使用速度要慢得多,问题是具有各种 varchar 字段的索引。

问题的例子

数据:

询问:

isql计划:

我用 test_unicode_ci_ai 得到 2 个索引读取,用 test_unicode 得到 1 个索引读取,数百万条记录使问题升级。

我做错了什么?谢谢

在 2.5.8 x64 Windows Superserver 中测试,有同样的错误

0 投票
1 回答
408 浏览

delphi - 将远程 Firebird 表复制到本地数据库

我有一个带有数据库的远程 Firebird 3.0 服务器。在这个数据库中,有一个大表。客户在工作期间经常查询此表。有太多的客户端和糟糕的互联网连接,所以这张桌子的工作很糟糕。我通过 IBExpert 将该表的本地副本复制到一个临时数据库中,该数据库与客户端应用程序一起分发。

但是现在需要更改此表中的某些值(添加新值并编辑一些旧值)。所以我需要某种同步 - 将远程修改表复制到客户端的本地数据库。

客户端应用程序是使用 Delphi Berlin 10.1 制作的。所以同步应该由Delphi代码完成。

你能给我一个想法吗,如何正确同步这么大的表?

0 投票
1 回答
1585 浏览

delphi - Delphi Firedac 备份 Firebird 数据库到本地文件

是否可以使用TFDFBNBackupTFDFBNRestore用于从本地文件创建和恢复远程服务器的备份?

我知道这可以使用本地服务管理器命令行工具来完成,例如 gbak 也允许这样做,但我不想在我的新 Firemonkey 应用程序(Windows、OSX、Linux)中使用这些工具。我想将功能完全编译到我的应用程序中,我只能在 Firebird 连接的基础上访问服务器,没有文件共享。