问题标签 [jaybird]

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

java - 如何将字符串变量添加到 jdbc firebird 连接上的 SQL 查询

我正在尝试从 Java 应用程序查询 Firebird 数据库。此查询包含 2 个整数变量和 1 个字符串。查询如下所示:

看起来它ResultSet是空的,但是当我使用硬编码的字符串值而不是变量时,我得到了预期的结果。

我也用相同的结果尝试了这个preparedstatements- 它只在没有字符串变量的情况下工作。

任何想法我做错了什么?

编辑:问题解决了!Stringvariable 来自 BLOB 字段,其中包含一些空值。调用修剪功能删除了那些。

0 投票
1 回答
951 浏览

java - 为什么我的 Java JDBC 到 Firebird 数据库的连接不会断开?

我正在使用以下代码连接到 firebird 数据库

...以及以下断开连接:

我正在使用在 Windows 7-32 位计算机上运行的 Firebird 2.1,Java 版本 1.7、Jaybird 版本 2.2.8、Tomcat 版本 7.xx 在 Win7-32​​ 位上运行,浏览器是 Chrome 版本或其他(新)运行 Win XP SP3。

我使用名为 IBExpert 的第三方工具来查看连接数和/或运行以下语句:

当我在 .close() 语句运行后查看与数据库的连接数时,该数量并没有减少。这是为什么?如果我等待的时间足够长,或者 Tomcat 服务器重新启动,连接数确实会减少。关闭浏览器不会影响连接。

0 投票
1 回答
602 浏览

java - 在 UUID 字段上使用 JPA 的 Jaybird(char(16) 字符集八位字节)

我对域定义的 UUID ID 字段有疑问

我已将 jpa 的 AttributeConverter 定义为 import java.util.UUID;

并将 jpa 字段定义为

但是 jpa (Eclipselink+Eclipse Gemini) 给出错误,因为它试图转换的不是二进制表示而是 36 个字符的文本形式

我想问题是 jaybird 给出的字段类型为 CHAR(16),(我已经检查过 ResultSetMetaData),我知道有选项octetsAsBytes,我已经将它与 jbdc url 一起使用

没有结果。

我的设置很复杂

所以我认为当 ResultSetMetaData 会给我字段类型为 BINARY 时,问题就会消失。但是怎么做?有什么建议么。

我只是不想将 id 保存为 char(32) 或 char(36)。

编辑:切换到 Jaybird 3.beta-2 后,可以清楚地看到第三行invalid stream header: F1505533。这是一部分 ASCII 解码的 id(char(16) 字符集八位字节)。如何让 JPA 接受这个值作为原始字节并将其传递给 UUIDAttributeConverter 类??!!

0 投票
1 回答
7429 浏览

java - 使用 Firebirdsql 连接 JDBC

我在连接 firebirdsql 时遇到问题。这是我的代码。

得到一个像这样的错误。

java.lang.ClassNotFoundException:org.firebirdsql.jdbc.FBDriver

0 投票
2 回答
3985 浏览

spring - 春天+火鸟

有人成功将 spring 连接到 .gdb 数据库或 .fdb 数据库吗?我需要一点帮助来执行一些查询并将其显示在屏幕上。互联网上几乎没有关于将spring连接到firebird的信息......

谢谢

0 投票
2 回答
214 浏览

java - 将数据插入数据库时​​出错

我试图将我的数据插入到名为 newdevice 的数据库表名中。我的查询是:

但是当我这样做时,我遇到了这个错误:

org.firebirdsql.jdbc.FBSQLException:GDS 异常。335544569. 动态 SQL 错误 SQL 错误代码 = -104 令牌未知 - 第 1 行,第 106 列

(,) 用逗号显示错误。

0 投票
1 回答
1813 浏览

java - 获取 Firebird 服务器版本信息

我使用 java 和 jaybird 驱动程序。在我之前的 jaybird 2.x 版本中,我使用 GDS 低级访问(服务 API)来连接服务器(没有连接 db-part),以获取服务器版本字符串。

现在我尝试使用 FB3 + jaybird3beta。JB3 中没有 GDS API。正如我从文档中看到的那样 - 有 org.firebirdsql.util.FirebirdSupportInfo 对象具有 3 个实现

如我所见:

  • GDSServerVersion - 代表 Firebird 服务器版本的对象(已经以某种方式获得)。
  • FbDatabase - 到数据库的连接句柄。
  • 连接 - 某种“连接”。所以挖北斗:

还有带有 getConnection() 函数的 java.sql.DriverManager “尝试建立到给定数据库 URL的连接”

那么,据我了解,如果没有连接到任何数据库,它就无法获取服务器版本?还是我错过了什么?

或者如何仅使用 server:port 和给定的用户名/密码来获取服务器版本?

0 投票
2 回答
668 浏览

java - Jaybird 3 和 Firebird 交易信息

在以前版本的 jaybird (2.2) 中,我能够对 Firebird 服务器执行服务 API 以获取活动事务标记:OIT、OAT、Next 等。

在 3.0 版中,我不知道如何正确执行此操作。只有 ISC 常量(如 isc_info_oldest_snapshot)但没有方法。

所以,我看到了一种方法:通过 .Get 查询数据库标头StatisticsManager。但这并不容易,因为它会返回需要解析的文本:

现在我需要解析文本:

是否有可能获得直接价值?

更新:旧版本的代码是:

在哪里

够了吗?

0 投票
1 回答
131 浏览

java - Jaybird 3 和数据库文件属性(页面大小、SQL 方言、ODS 主要/次要)

在 jaybird 2 版本中,我可以通过 gds isc_info_page_size 获取数据库页面大小。但现在我找不到了——在 jaybird 3.0 中可以做到这一点吗?我有主机:端口、数据库文件名/别名和登录名/密码——我不想使用 MON$-tables。

我看到文档,只发现 FBManager 可以返回 int getPageSize() 但文档说:创建数据库时要使用的页面大小,如果使用数据库默认值,则为-1 。

但是我有一个现有的数据库,并且想要现在它的页面大小。可以在不获取统计信息和解析标头信息的情况下完成吗?

PS。如果您指出我如何了解数据库 SQL 方言和 ODS 版本,也会很有帮助

0 投票
0 回答
740 浏览

firebird - Jaybird 3 和默认代码页通过属性

我继续使用 jaybird 3 挖掘(或玩)并得到已知错误“原因:java.sql.SQLNonTransientConnectionException:连接被拒绝:未指定连接字符集(属性 lc_ctype、编码、charSet 或 localEncoding)。请指定连接字符集(例如属性 charSet=utf-8)或查阅 Jaybird 文档以获取更多信息。”

所以,请帮助我做错了什么,我必须做什么。

  1. 第一次尝试

    这很好用。但是如果我不想(或不能)更改连接字符串怎么办?

  2. 正如我在常见问题解答中看到的:https ://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html我使用选项运行我的 java 应用程序(来自 netbeans)

    /li>

但得到了同样的错误。那么好吧。可能是我在netbeans中做错了什么......

  1. 我尝试通过属性使用连接选项。所以。我改变我的代码:

    /li>

运行应用程序 - 并得到同样的错误....我不能从属性传递“lc_ctype”?还是我没明白什么?