database - 我想使用带有以下 SQL 语句的 expdp 导出架构 -> ORA-39001
问题描述
我想使用以下 SQL 语句导出数据库模式。目前我使用 SQLDeveloper。将来我想将此语句与 Java 一起使用。
DECLARE
schemaName VARCHAR2(200) := 'Example';
dirName VARCHAR2(200) := '/dir/exampleDir';
dumpFile VARCHAR2(200) := 'TestFile.dmp';
directory VARCHAR(100) := 'EXPORT_DIR_' || schemaName;
handle NUMBER;
status VARCHAR2(20);
BEGIN
EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY ' || directory || ' AS ''' || dirName || '''';
handle := DBMS_DATAPUMP.OPEN(
operation => 'EXPORT',
job_mode => 'SCHEMA',
job_name => 'TEST_EXPORT_' || schemaName);
DBMS_DATAPUMP.ADD_FILE(handle, dumpFile, directory);
DBMS_DATAPUMP.METADATA_FILTER(
handle => handle,
name => 'SCHEMA_EXPR',
value => 'IN (' || schemaName || ')');
DBMS_DATAPUMP.START_JOB(handle);
DBMS_DATAPUMP.WAIT_FOR_JOB(handle, status);
EXECUTE IMMEDIATE 'DROP DIRECTORY ' || directory;
END;
我收到错误消息“ORA-39001”
任何人都可以帮助我吗?我不知道,我该如何解决这个问题。我阅读了有关此错误消息的任何信息。问题是目录还是什么?如果您能帮助我,我将不胜感激。我对我糟糕的英语知识感到抱歉。
解决方案
非常感谢你。
还有 ''/dir/exampleDir' - 我不认为这是一个有效的 Oracle 目录名称。oracle 目录是一个 db 对象,它引用文件系统上的目录
这只是一个例子。我知道 oracle Directory 是一个 db 对象,它引用文件系统上的一个目录。但是我的sql语句中的目录和文件系统上的目录是一样的。
推荐阅读
- amazon-web-services - Terraform 帐户之间的依赖关系
- aws-xray - 如何在 AWS X-Ray 中生成连接节点?
- html - 将 Excel 工作表中的文本与 HTML 表值进行比较
- c++ - QT + XSB prolog:“0x0 处的读取访问冲突”
- c++ - 错误:libm.so.6:未找到版本“GLIBC_2.29”。节点JS
- c# - 在 IIS 10 中删除默认文档会出现错误 502
- ios - iOS 14.1 面临键盘问题
- node.js - Mongodb节点js中的事务失败并出现错误
- flutter - Flutter 使用 RiverPod 状态管理改变 Drawer 状态
- python - 为什么屏幕不是背景表面不会闪烁到屏幕上?