问题描述 | 原因分析 | 解决方法 |
迁移触发器报错transition tables cannot be specified for tirggers with more than one event | 触发器创建语句为create trigger xxx after delete or insert or update ……一个触发器里面包含三个事件 | 把触发器创建语句拆分为create trigger xxx after delete、create trigger xxx after insert、create trigger xxx after update三条 |
迁移视图报错views must not use dblink tables | 创建视图语句为create view namea as select * from name@dblk,用到了跨库查询 | 创建外部表替代dblink,具体步骤为:CREATE EXTENSION kingbase_fdw; CREATE SERVER foreign_server FOREIGN DATA WRAPPER kingbase_fdw OPTIONS (host '192.83.123.89', port '5432', dbname 'foreign_db'); CREATE USER MAPPING FOR local_user SERVER foreign_server OPTIONS (user 'foreign_user', password 'password'); CREATE FOREIGN TABLE foreign_table (id integer NOT NULL) SERVER foreign_server OPTIONS (schema_name 'some_schema', table_name 'some_table'); |
迁移表报错type “geometry” does not exist | 没有gis扩展 | 创建gis扩展:CREATE EXTENSION postgis; |
迁移表数据报错invalid byte sequence for encoding “utf8” :0xd0 | 字符显示问题,实际数据可正常存储 | 数据库配置文件kingbase.conf添加ignore_char_null_check=on参数,跳过检查 |
迁移函数报错failed to execute sql | 缺少自定义类型 | 从oracle库获取数据类型手动创建好,再创建函数 |
Oracle至金仓库迁移问题总结
最新推荐文章于 2024-05-15 12:21:34 发布