错误:";目录不存在";尽管创建[将CSV写入目录]

错误:";目录不存在";尽管创建[将CSV写入目录],csv,stored-procedures,plsql,directory,oracle-sqldeveloper,Csv,Stored Procedures,Plsql,Directory,Oracle Sqldeveloper,我正在尝试复制下面链接中显示的自定义解决方案(PL/SQL)步骤,SQL Developer提供的示例HR模式除外: 以下是我的代码版本: CREATE OR REPLACE DIRECTORY EXTRACT_DIR AS 'C:\Users\Jimbo\Desktop\delete'; GRANT READ, WRITE ON DIRECTORY EXTRACT_DIR TO PUBLIC; --select * from dba_users; CREATE OR REPLACE PRO

我正在尝试复制下面链接中显示的自定义解决方案(PL/SQL)步骤,SQL Developer提供的示例HR模式除外:

以下是我的代码版本:

CREATE OR REPLACE DIRECTORY EXTRACT_DIR AS 'C:\Users\Jimbo\Desktop\delete';
GRANT READ, WRITE ON DIRECTORY EXTRACT_DIR TO PUBLIC;
--select * from dba_users;

CREATE OR REPLACE PROCEDURE EMP_CSV AS
    CURSOR c_data IS
        SELECT FIRST_NAME,
               LAST_NAME
        FROM   HR.EMPLOYEES
        ORDER BY last_name;

    v_file  UTL_FILE.FILE_TYPE;
BEGIN
    v_file := UTL_FILE.FOPEN(location     => 'EXTRACT_DIR',
                             filename     => 'emp_csv.txt',
                             open_mode    => 'w',
                             max_linesize => 32767);

    FOR cur_rec IN c_data LOOP
        UTL_FILE.PUT_LINE(v_file, cur_rec.first_name||cur_rec.last_name);
    END LOOP;

    UTL_FILE.FCLOSE(v_file);
END;
/

EXEC EMP_CSV;
但是,在运行EXEC EMP_CSV后,返回一个错误: “无效的文件操作” *原因:试图从文件或目录中读取 不存在,或文件或目录访问被拒绝 操作系统。 *操作:验证文件系统上的文件和目录访问权限, 如果正在读取,请验证该文件是否存在。”


有人能告诉我该怎么做才能工作吗?

运行Oracle实例的服务器是否有一个名为
C:\Users\Jimbo\Desktop\delete
?路径与服务器的驱动器相关,而不是与本地驱动器相关。我不认为相关……我如何访问/查看/编辑服务器文件夹?……或者我可以写入本地驱动器?我想就像尽快简单地把它写在某个地方一样。我在我的个人计算机上运行所有的东西。我没有意识到的服务器。如果你有一个Oracle数据库,你就有一个服务器(即使它是你自己的本地计算机)。您的Oracle实例正在服务器上运行,很可能使用的是服务帐户,而该服务帐户不知道或无权访问您的个人用户目录。您需要写入服务器具有写入权限的路径;我无法告诉您该路径在何处,因为您无法告诉我您的服务器正在运行(很可能无法说出它在哪个帐户下运行)。谢谢Ken,有没有一些sql命令可以为我提供所需的服务器信息?