2017-02-24 72 views
1

我想將Firebird 2.1數據庫遷移到2.5,並且在默認字段中發生錯誤。我應該使用哪種字符集?格式錯誤的字符串IN默認字段

SET SQL DIALECT 3;

CREATE DATABASE 'F:\Sistemas\mga\DataBase\CRIAR.GDB' USER 'SYSDBA' PASSWORD 'masterkey' PAGE_SIZE 16384 DEFAULT CHARACTER SET NONE;

CREATE TABLE ESTOQUE ( ID INTEGER, FORNECEDOR_ID INTEGER, FUNCIONARIOS_ID INTEGER, ID_TABELA INTEGER, DATA DATE, QUANTIDADE NUMERIC(15,2), VALOR_UNITARIO NUMERIC(15,5) DEFAULT 0, TABELA VARCHAR(100) CHARACTER SET NONE, SAFRA_ID NUMERIC(18,0), VALOR_TOTAL NUMERIC(15,2), TIPO VARCHAR(100) CHARACTER SET NONE, PROPRIEDADE_ID INTEGER, PLACAS VARCHAR(100) CHARACTER SET NONE, NOTAS VARCHAR(100) CHARACTER SET NONE, MOTORISTA VARCHAR(100) CHARACTER SET NONE, 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)字符集NONE DEFAULT '淖',

 


This operation is not defined for system tables. 
unsuccessful metadata update. 
STORE RDB$RELATION_FIELDS failed. 
Malformed string. 

我嘗試:

 
SET NAMES WIN1252; 
WIN1252 
CHARACTER SET WIN1252, 
CHARACTER SET ISO8859_1 
COLLATE PT_BR 

但是,這是確定

 

update ESTOQUE set BLOQUEADO='NÃO' ; 
+0

爲什麼不'UTF8'? – ain

回答

0

備份數據庫,並嘗試用這些選項來恢復:

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 
+0

而且這需要閱讀和理解FB 2.5文檔的相關部分(至少是RelNotes),因爲FIX METADATA選項可能有害。 –