YashanDB 使用 imp 导入时报 YAS-08023 的原因与处理办法
问题场景
使用以下命令成功导出数据:
exp --sql 'icpdbcds/"xxx"' FILE=icpdbcds.export OWNER=icpdbcds
但尝试导入时报错:
imp 'icpdbcds/"xxx"' file=icpdbcds.export fromuser=icpdbcds touser=icpdbcds_dev
YAS-08023, invalid file format, magic number error.
根本原因
导出时使用了 --sql 参数,该参数会生成可读的 SQL 文件。但 imp 工具要求读取的是二进制格式的导出文件,因此会出现文件格式不兼容的错误。
解决方案
重新导出数据时,移除 --sql 参数即可。例如:
exp FILE=icpdbcds.export OWNER=icpdbcds
这样导出的文件为二进制格式,imp 即可正常识别并导入。
影响版本
该问题适用于所有 YashanDB 当前版本。
温馨提示
imp 工具不支持 CSV 或文本格式的 SQL 文件,请务必确认导出格式为标准二进制备份。