在 CentOS 上使用 IBM Informix 导入数据,常见方式有以下几种,按使用频率从高到低说明。
dbimport(整体数据库导入,最常用)dbexport 导出的数据库dbexport olddb
会生成 olddb.exp 目录
dbimport newdb -i /path/to/olddb.exp
常用参数:
dbimport newdb -i /opt/ifmx/olddb.exp -d datadbs
-d:指定数据库空间load(表级导入,文本文件)LOAD FROM '/data/t1.unl'
INSERT INTO t1;
或指定分隔符:
LOAD FROM '/data/t1.unl'
DELIMITER '|'
INSERT INTO t1;
1|张三|2024-01-01
2|李四|2024-02-01
注意:字段顺序必须与表结构一致
dbload(大批量、可控导入)dbload -d testdb -c load.ctl
load.ctl 示例
FILE /data/t1.unl DELIMITER '|' 3;
INSERT INTO t1;
参数说明:
-d:数据库名-c:控制文件-e:最大错误数-n:每次提交行数onload(整库/表空间级)onload -t t1.tape testdb t1
⚠️ 一般少用,需相同 Informix 版本
CREATE EXTERNAL TABLE ext_t1
LIKE t1
USING (
DATAFILES ("DISK:/data/t1.unl"),
DELIMITER '|'
);
INSERT INTO t1 SELECT * FROM ext_t1;
✅ 灵活、性能好、可控
DB_LOCALEdos2unix data.unl
| 场景 | 推荐方式 |
|---|---|
| 整库迁移 | dbimport |
| 单表文本 | load |
| 大批量 | dbload |
| 灵活导入 | 外部表 |
如果你能说明:
我可以给你 精确命令示例。