在使用 FBManager 创建的数据库上设置默认字符集



我已经使用 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 发行说明中的更改默认字符集。

对于 Firebird

2.5 及更早版本,您需要直接修改系统表(Firebird 3 不再支持(:

UPDATE RDB$DATABASE SET RDB$CHARACTER_SET_NAME = 'UTF8'

如果 UTF8 是其他字符集,请将它替换为预期的默认字符集。

任一语句都必须以数据库所有者或用户 SYSDBA 的身份执行。

请注意,更改默认字符集仅对设置新默认值创建的列有效。现有 (var(char 列将保留其旧字符集。

免责声明:我维护 Firebird 的 Jaybird JDBC 驱动程序。

相关内容

  • 没有找到相关文章

最新更新