在 Linux 上的 Informix 数据库中,导入数据常用以下几种方式,最常用的是 dbload 和 LOAD 语句。下面按常见场景给你一个完整说明。
示例数据文件:data.txt
1001|张三|25
1002|李四|30
1003|王五|28
默认分隔符可以是
|、,、\t等
LOAD 语句(最常用 ✅)dbaccess dbname -
或
dbaccess dbname
LOAD FROM '/home/informix/data.txt'
DELIMITER '|'
INSERT INTO employee (id, name, age);
✅ 特点:
COMMIT WORK;
dbload(适合大批量数据 ✅✅)load.ctlFILE data.txt DELIMITER '|'
INSERT INTO employee (id, name, age);
dbload -d dbname -c load.ctl -l error.log
常用参数:
dbload -d dbname -c load.ctl -n 10000 -l err.log
参数说明:
-d 数据库名-c 控制文件-n 每次提交行数-l 错误日志✅ 优点:
dbimport(整库导入)⚠️ 不是导入普通数据,而是导入整个数据库
dbimport dbname -i /backup/path
适用于:
External Table(高级用法)CREATE EXTERNAL TABLE ext_emp
(
id INT,
name CHAR(20),
age INT
)
USING (
DATAFILES ("DISK:/home/informix/data.txt"),
DELIMITER '|'
);
INSERT INTO employee
SELECT * FROM ext_emp;
✅ 适合:
Informix 默认 ISO-8859-1
中文建议:
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
chmod 644 data.txt
确保 informix 用户可读
| 场景 | 推荐方式 |
|---|---|
| 小数据量 | LOAD |
| 大数据量 | dbload |
| 整库迁移 | dbimport |
| ETL / 并行 | External Table |
如果你愿意,可以告诉我:
我可以直接帮你写 可执行的导入脚本 ✅