问题标签 [firebird-4.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 回答
152 浏览

odbc - C 中的 Firebird 4.0 候选版本 1 无法打开嵌入式数据库

我在 Linux 上使用 Firebird 4.0 候选版本 1(尝试在 C 应用程序或 ODBC 驱动程序中使用它)。当我尝试打开嵌入式数据库 ( /path/to/db/name.db) 时,我收到“无法完成对主机 XXX 的网络请求。无法建立连接。” 我知道这意味着找不到 libEngine13.so,因此它默认为 localhost。但是,libEngine13.so 已经构建,并且位于 git repo 的默认安装位置,/path/to/firebird/gen/Release/firebird/lib/plugin所以我不确定为什么找不到它。我还尝试将包含它的文件夹(插件)添加到 LD_LIBRARY_PATH,将 libEngine13.so 复制到与 libfbclient.so(/path/to/firebird/gen/Release/firebird/lib)相同的目录,将其添加到包含 libfbclient.so(等)的目录中的插件文件夹中。有什么想法吗?

0 投票
2 回答
985 浏览

c# - 使用 ADO.Net 提供程序将 Firebird 2.5 迁移到 4.0

我刚刚将我的数据库升级到 Firebird 4.0 并且在使用数据库管理工具连接到数据库时似乎一切正常。

所以现在我尝试连接,在确保我已经将我的 ADO.Net 升级到 FirebirdSql.Data.FirebirdClient v8.0.1(最新)之后。

这是我创建连接字符串的方式(是的,数据库路径存在,并且我确保用户具有修改权限):

现在,请注意我遗漏了WireCrypt选项(故意开始)。我的错误是:

登录时出错,详情请查看服务器firebird.log

firebird.log说:

身份验证错误 服务器上没有匹配的插件

所以我四处搜索,发现它可能来自有线加密。好吧,所以我确实尝试了所有 3 个版本的有线加密 - 如果我使用Requiredor Enabled,我会收到上述错误。如果我使用Disabled,我得到

客户端和服务器上请求的有线加密级别不兼容

此外,我尝试在我的代码中进行设置WireCrypt = Disabledfirebird.conf重新启动服务并再次测试 - 现在我的结果与前两种情况相同:

身份验证错误 服务器上没有匹配的插件

所以我想我在这里遗漏了一些关于加密插件的东西——但我在那里找不到任何有价值的信息,谢谢你的帮助!

更新:这是我尝试的设置和我得到的错误:

尝试 1:所有firebird.conf默认值(我在此处发布以保持简短):

连接字符串 1:

客户端和服务器上请求的有线加密级别不兼容

连接字符串 2(wire crypt=启用或必需)

身份验证错误 服务器上没有匹配的插件

尝试2:

连接字符串 1:

身份验证错误 服务器上没有匹配的插件

连接字符串 2 (wire crypt=Enabled) => 同样的错误!

尝试 3:

连接字符串 1:

客户端和服务器上请求的有线加密级别不兼容

连接字符串 2(wire crypt=启用或必需)

身份验证错误 服务器上没有匹配的插件

尝试4:

连接字符串(与连接字符串中的任何有线加密选项相同的结果):

身份验证错误 服务器上没有匹配的插件

注意:我还在 中看到以下消息firebird.log,这可能是由于服务重新启动...

inet_error:读取 errno = 10054,客户端主机 = DESKTOP-1234,地址 = 127.0.0.1/60348,用户 = myusername

0 投票
1 回答
38 浏览

encoding - 如何根据 Firebird 数据库编码检索 CHAR 和 VARCHAR 字段定义

在 Firebird (4.0) 中,我通过以下查询获取字段长度:

F.RDB$FIELD_LENGTH是分配的大小,即如果我有一个VARCHAR(256)withUTF8编码,那么对应的F.RDB$FIELD_LENGTH值是1024,但如果这是默认NONE编码的,分配的值是256.

有没有办法根据数据库编码直接在查询本身X中找到实际值?VARCHAR(X)

就我而言,我只有两种可能的编码,NONEor UTF8,我可以使用以下查询进行检查:

将返回true并且字段长度应除以 4,否则只需返回值本身。

IF我应该根据上述查询的语句构建查询吗?如果是这样,那会是什么?还是有更好的解决方案?

0 投票
1 回答
143 浏览

firebird - 为 Firebird 4 客户端部署什么?

使用 Firebird 2,我们必须使用我们的应用程序部署 3 个文件才能连接到远程 firebird 服务器:

  • fbclient.dll
  • msvcr80.dll
  • Microsoft.VC80.CRT.manifest

第一个文件是从“普通”Firebird 安装程序中检索到的,另外两个文件是从“嵌入式”安装程序中检索到的。

Firebird 4 没有提供嵌入式安装程序,我也没有找到正确的信息来为客户部署什么。

阅读此内容:https ://ib-aid.com/download/docs/fb4migrationguide.html#_installing_client看起来 Firebird 3 的要求较低。是这样吗?我只需要通信加密和更长的密码,所以 FB3 也可以。(顺便说一句,遵循指南并没有带来成功,否则我不会问)。

0 投票
0 回答
90 浏览

laravel - 如何将 laravel 与 Firebird 数据库连接起来?

我正在尝试将 Laravel 5.5 应用程序连接到 Firebird 4.0 数据库,但我不断收到此错误:

PDOException: SQLSTATE[HY000] [335544721] 无法完成对主机的网络请求

我也在使用jacquestvanzuydam\laravel-firebird包进行连接。检查我服务器上的firebird.log,没有显示任何信息。

我正在使用的连接配置是

我使用的端口是3060.

0 投票
1 回答
103 浏览

windows - 尝试从远程连接到 Firebird 4.0 总是会生成错误“连接被远程接口拒绝”

我正在尝试从远程 PC 连接到我的服务器上的 Firebird 4.0,但总是失败。它总是报告:“连接被远程接口拒绝。”

我的服务器使用 Windows Server 2012 R2。我已经在端口 3050 上使用 telnet 对我的服务器进行了测试,并且它没有阻塞。所以我想这不是因为防火墙问题。

这在我使用 Firebird 2.5 时不会发生。

如果使用 Firebird 4.0,我必须做任何额外的设置吗?

0 投票
1 回答
25 浏览

firebird - 使用 isql 将(文本)文件的内容插入表字段

使用 Firebird,可以通过 isql 轻松地编辑数据库。

现在我有一个数据库,在一个字段中

VALCONTENT BLOB SUB_TYPE TEXT SEGMENT SIZE 80

包含连续文本。

我现在想将文本文件的内容写入其中。

伪代码:

MySQL 提供与 LOAD_FILE 类似的功能。这如何与 isql 一起使用?

0 投票
1 回答
44 浏览

permissions - 如何授权使用生成器语法

我通常不是使用 Firebird 语言的人,但我必须修复对生成器的访问才能继续工作。我的脚本中有一行:set generator order_gen to 0那行不通了。

我正在尝试:GRANT USAGE ON GENERATOR ORDER_GEN TO USER MAHE,但我仍然得到错误...no permission for ALTER access to GENERATOR ORDER_GEN ...

我应该授予不同的权限来设置生成器,还是我在这里没有使用正确的语法?