【问题描述】*:客户的是旧版本数据库,导出的imp还恢复不了!!
导入时出现Error Code:-70005,字符串截断啊。
真是服了!!
为了优化数据库性能
删除了参数,也是兼容的,1、迁移的时候配置varchar类型字段,强制以字符为单位进行存储;2、迁移完成表结构后统一调整;用第一种方法就可以解决了;
补充批量改nchar的语句
SELECT 'ALTER TABLE '||OWNER||'.'||TABLE_NAME||' MODIFY '||COLUMN_NAME||' '||DATA_TYPE||'('||DATA_LENGTH||' CHAR);'
FROM DBA_TAB_COLS
WHERE DATA_TYPE ='VARCHAR' AND OWNER='SYSDBA';
另外 DDL语句也要改下:
ALTER TABLE TEST ADD (WX_OPEN_ID VARCHAR(100 CHAR) NULL);

非常麻烦的解决了。
1.勾选先导入表结构。
2. 然后删除所有表的数据。
3.再写个语句把所有的varchar字段*3
4.重复导入,这次勾选仅表数据 。
ps.达梦的开发是不是脑子是不是有问题,自己高版本都不能兼容低版本的数据库导入,这么重要的参数设置说没就没。