Firebird從2.1版本升級到2.5版本

heibao326發表於2015-07-23
問題描述
2.1的資料庫在2.5版本下不能正確還原,還原時出現如下錯誤
IBE: Invalid token.
     Malformed string.
IBE: Restore completed. Current time: 16:18:44. Elapsed time: 00:00:01

問題原因:資料庫的字符集是None,但資料庫的某些表的預設值是中文字元

本來是通過打軟體包的方式直接升級版本,但是在網上沒有找到相關資料,只能通過重新建庫,再匯入資料的方案了

解決方案
方案一、預設值改為英文
方案二、更改資料庫字符集為GB_2312,重新匯入資料
2.1重新建立新庫,字符集選GB_2312
2.2匯入表結構
2.3匯入資料,匯入資料的方式有以下2鍾,二者選其一即可
    2.3.1 利用IBEXPERT工具,在源資料庫中開啟SQL Edit,輸入如下命令
            insert into [test02].Table_name                     select * from Table_name                    ;
            ps:test02是目標資料庫在IBEXPERT中的alias名字
    2.3.2利用Kettle工具匯入資料,可參考http://blog.itpub.net/30158401/viewspace-1454973/
方案三、臨時改變客戶端字符集,改變2張表的default值

   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30158401/viewspace-1745895/,如需轉載,請註明出處,否則將追究法律責任。

相關文章