【问题标题】:Malformed string IN Default Field格式错误的字符串 IN 默认字段
【发布时间】:2017-07-15 07:31:19
【问题描述】:

我正在尝试将 Firebird 2.1 数据库迁移到 2.5,但默认字段中出现错误。我应该使用哪个字符集?

设置 SQL 方言 3;

创建数据库'F:\Sistemas\mga\DataBase\CRIAR.GDB' 用户 'SYSDBA' 密码 'masterkey' PAGE_SIZE 16384 默认字符集无;

创建表 ESTOQUE ( ID 整数, FORNECEDOR_ID 整数, FUNCIONARIOS_ID 整数, ID_TABELA 整数, 数据日期, 量化数字(15,2), VALOR_UNITARIO NUMERIC(15,5) 默认 0, TABELA VARCHAR(100) 字符集无, SAFRA_ID NUMERIC(18,0), VALOR_TOTAL NUMERIC(15,2), TIPO VARCHAR(100) 字符集无, PROPRIEDADE_ID 整数, PLACAS VARCHAR(100) 字符集无, NOTAS VARCHAR(100) 字符集无, MOTORISTA VARCHAR(100) 字符集无, BLOQUEADO VARCHAR(3) CHARACTER SET NONE DEFAULT 'NÃO', DESCRICAO BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET NONE, FRETE NUMERIC(15,2) );

错误 :: BLOQUEADO VARCHAR(3) CHARACTER SET NONE DEFAULT 'NÃO',

没有为系统表定义此操作。 元数据更新不成功。 STORE RDB$RELATION_FIELDS 失败。 格式错误的字符串。

我试试:

设置名称 WIN1252; WIN1252 字符集 WIN1252, 字符集 ISO8859_1 整理 PT_BR

但是,这没关系

更新 ESTOQUE 设置 BLOQUEADO='NÃO' ;

【问题讨论】:

  • 为什么不UTF8

标签: firebird


【解决方案1】:

备份数据库并尝试使用以下选项进行恢复:

 c:\Program Files\Firebird\Firebird_2_5\bin\gbak.exe -R O c:\temp\my_backup.FBK my_new_database.fdb 
 -FIX_FSS_M WIN1252 -FIX_FSS_D WIN1252 -USER SYSDBA -PAS masterkey -V

【讨论】:

  • 这需要阅读和理解 FB 2.5 文档的相关部分(至少是 RelNotes),因为 FIX METADATA 选项可能有害。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-27
  • 1970-01-01
  • 2014-04-24
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多