解决方案一:
前提条件:把dmp文件复制到达梦docker容器中
docker cp LJCLWDBA.dmp fc316f88caff:/
第一步进入达梦数据容器内部
docker exec -it fc316f88caff /bin/bash
第二步:在容器中 /opt/dmdbms/bin
目录下 执行命令
cd /opt/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA001 FILE=/opt/dmdbms/ZFJG_LJ20240407.dmp SCHEMAS=ZFJG_LJ
- USERID=SYSDBA/SYSDBA001: 账户/密码
- SCHEMAS :数据库名称
- FILE : dump文件路径
./dimp USERID=SYSDBA/SYSDBA001 FILE=/opt/dmdbms/ZFJG_LJ20240407.dmp SCHEMAS=ZFJG_LJ
解决访问二
docker容器启动的时候
docker run -d -p 5236:5236 --restart=always --name dm8_test001 --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e EXTENT_SIZE=32 -e BLANK_PAD_MODE=1 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e LENGTH_IN_CHAR=0 -e INSTANCE_NAME=dm8_test -v /data/dm8_test001:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64
LENGTH_IN_CHAR=0
这个数字可以修改为0 ,之前设置是1报错
查阅资料:VARCHAR 类型对象的长度是否以字符为单位。取值:1、Y 表示是,0、N 表示否。默认值为 0。可选参数。
用图形化界面导入
完善看说是
我这边用的docker容器启动,虽然不报前面的错了,但是又有另外的错误:
这个问题简单,在用户那边创建一个用户就行
最后导入成功
后面问同事,还有另一种解决方案:
图形化界面导入得时候,可以选择:
然后就可以导入成功了