在 Linux 下使用 IBM Informix 导入数据,常见方式有以下几种,按使用频率从高到低说明:
dbimport(整库导入,配合 dbexport)适合 整库迁移。
已用 dbexport 导出:
dbexport mydb -o /tmp/exportdir
dbimport mydb -i /tmp/exportdir
常用参数:
dbimport mydb -i /tmp/exportdir -d datadbs -l buffered
-d:指定数据库空间-l:日志模式load(文本文件导入,最常用)适合 表级数据导入。
示例(逗号分隔):
1,张三,25
2,李四,30
dbaccess mydb <<EOF
load from "/tmp/data.unl" delimiter ","
insert into user_table;
EOF
或交互式:
dbaccess mydb
load from "/tmp/data.unl" delimiter ","
insert into user_table;
dbload(大批量、可控导入)适合 大数据量、可控制错误数。
load.ctlFILE /tmp/data.unl DELIMITER ','
INSERT INTO user_table
(
id,
name,
age
);
dbload -d mydb -c load.ctl -l error.log -n 1000
-n:每多少条提交一次-l:错误日志onload(裸数据恢复,较少用)适合 同版本 Informix 备份恢复
onload -d mydb -t /dev/tape
CREATE EXTERNAL TABLE ext_user
LIKE user_table
USING (
DATAFILES ("DISK:/tmp/data.unl"),
DELIMITER ','
);
INSERT INTO user_table SELECT * FROM ext_user;
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
DBA 或 CONNECT + RESOURCEdbimport)\n\r\n如果你能告诉我:
我可以给你 更精确的命令示例。