在 Linux 下使用 IBM Informix 导入数据,常见方式有以下几种,按使用频率从高到低说明:
dbimport(整库导入)适用于:已有 dbexport 导出的数据库目录
dbimport dbname -i /backup/path
示例:
dbimport testdb -i /opt/informix/backup
说明:
testdb:要导入的数据库名/opt/informix/backup:包含 testdb.exp 的目录load(表级导入,最常用)适用于:从文本文件导入单表数据
data.unl)1|张三|25
2|李四|30
dbaccess dbname <<EOF
load from '/path/data.unl'
insert into tabname;
EOF
或交互式:
dbaccess dbname
load from '/path/data.unl'
insert into tabname;
External Table(外部表导入,推荐大批量)CREATE EXTERNAL TABLE ext_tab
(
id INTEGER,
name CHAR(20),
age INTEGER
)
USING (
DATAFILES ("DISK:/path/data.unl"),
FORMAT "DELIMITED"
);
INSERT INTO tabname SELECT * FROM ext_tab;
onload(裸数据恢复,少用)onload -d dbname -t tabname /path/tapefile
sqlhosts + ESQL / JDBC字段分隔符
|FORMAT "DELIMITED" DELUXE
字符集
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
权限
| 场景 | 推荐方式 |
|---|---|
| 整库迁移 | dbimport |
| 单表批量 | load |
| 大数据量 | External Table |
如果你能提供:
我可以给你可直接执行的命令示例。