未安装Firebird 2.5 CHARACTER SET WIN1252

leo*_*ame 4 firebird freebsd firebird2.5

我已经使用以下方法在FreeBsd 9.1上安装了Firebird-Server 2.5:

pkg install firebird-server-2.5.2_1
Run Code Online (Sandbox Code Playgroud)

可以,因为我可以从外部PC使用FlameRobin进行连接。

现在,当我尝试使用gbak还原数据库时,得到了以下信息:

...
gbak: ERROR:    CHARACTER SET WIN1252 is not installed
gbak:Exiting before completion due to errors
Run Code Online (Sandbox Code Playgroud)

我应该在服务器端安装更多的东西吗?该数据库是在Windows计算机上创建的,因此其字符集为WIN1252。

编辑:遇到一些麻烦后,我卸载了firebird并重新安装,而无需使用SUDO。

现在,我可以使用isql-fb进行连接并“显示系统整理”。结果如下:

...
TIS620_UNICODE, CHARACTER SET TIS620, PAD SPACE, SYSTEM
UCS_BASIC, CHARACTER SET UTF8, PAD SPACE, SYSTEM
UNICODE, CHARACTER SET UTF8, PAD SPACE, SYSTEM
UNICODE_CI, CHARACTER SET UTF8, FROM EXTERNAL ('UNICODE'), PAD SPACE, CASE INSENSITIVE, SYSTEM
UNICODE_CI_AI, CHARACTER SET UTF8, FROM EXTERNAL ('UNICODE'), PAD SPACE, CASE INSENSITIVE, ACCENT   INSENSITIVE, SYSTEM
UNICODE_FSS, CHARACTER SET UNICODE_FSS, PAD SPACE, SYSTEM
UTF8, CHARACTER SET UTF8, PAD SPACE, SYSTEM
WIN1250, CHARACTER SET WIN1250, PAD SPACE, SYSTEM
WIN1251, CHARACTER SET WIN1251, PAD SPACE, SYSTEM
WIN1251_UA, CHARACTER SET WIN1251, PAD SPACE, SYSTEM
WIN1252, CHARACTER SET WIN1252, PAD SPACE, SYSTEM
WIN1253, CHARACTER SET WIN1253, PAD SPACE, SYSTEM
WIN1254, CHARACTER SET WIN1254, PAD SPACE, SYSTEM
WIN1255, CHARACTER SET WIN1255, PAD SPACE, SYSTEM
WIN1256, CHARACTER SET WIN1256, PAD SPACE, SYSTEM
WIN1257, CHARACTER SET WIN1257, PAD SPACE, SYSTEM
WIN1257_EE, CHARACTER SET WIN1257, PAD SPACE, SYSTEM
WIN1257_LT, CHARACTER SET WIN1257, PAD SPACE, SYSTEM
WIN1257_LV, CHARACTER SET WIN1257, PAD SPACE, SYSTEM
WIN1258, CHARACTER SET WIN1258, PAD SPACE, SYSTEM
WIN_CZ, CHARACTER SET WIN1250, PAD SPACE, CASE INSENSITIVE, SYSTEM
WIN_CZ_CI_AI, CHARACTER SET WIN1250, PAD SPACE, CASE INSENSITIVE, ACCENT INSENSITIVE, SYSTEM
WIN_PTBR, CHARACTER SET WIN1252, PAD SPACE, CASE INSENSITIVE, ACCENT INSENSITIVE, SYSTEM
Run Code Online (Sandbox Code Playgroud)

...但是使用gbak仍然会出现相同的错误。

TPA*_*OPA 6

您无权访问intl子文件夹。几个原因:

  • 您无权访问它(主要在linux / unix OS上)
  • 使用嵌入式fbembed.dll而没有intl子文件夹的副本
  • 您的路径有问题,Firebird无法找到intl子文件夹

这些原因大多数可以通过简单的重新安装服务器来解决。如果它是嵌入式的,则只需复制intl文件夹,其中存在fbembed.dll。