我已经使用 jaybirds 的类FBManager
创建了一个数据库,但我找不到为它指定default charset
的方法(默认为 NONE
(。
我错过了什么吗?是否可以在创建数据库后定义它?
这是用于创建它的代码段
FBManager fbm = new FBManager();
fbm.start();
fbm.createDatabase("./fb.fdb", "user", "password");
fbm.stop();
此功能现已在 Jaybird 3.0.6 及更高版本中提供。有关更多详细信息,请参阅已接受的答案。
您没有遗漏任何东西:此功能确实在
FBManager
中不存在。考虑在 http://tracker.firebirdsql.org/browse/JDBC 上提交改进票
此功能现已在 Jaybird 3.0.6 及更高版本中提供。添加了方法FBManager.setDefaultCharacterSet
以设置默认字符集。
对于早期版本的 Jaybird,作为解决方法,您需要在创建数据库后更改默认字符集。
对于 Firebird 3 及更高版本,您可以使用
ALTER DATABASE SET DEFAULT CHARACTER SET UTF8
另请参阅 Firebird 3 发行说明中的更改默认字符集。
对于 Firebird2.5 及更早版本,您需要直接修改系统表(Firebird 3 不再支持(:
UPDATE RDB$DATABASE SET RDB$CHARACTER_SET_NAME = 'UTF8'
如果 UTF8
是其他字符集,请将它替换为预期的默认字符集。
任一语句都必须以数据库所有者或用户 SYSDBA 的身份执行。
请注意,更改默认字符集仅对设置新默认值后创建的列有效。现有 (var(char 列将保留其旧字符集。
免责声明:我维护 Firebird 的 Jaybird JDBC 驱动程序。