我尝试使用Oracle UTL_FILE.FOPEN命令创建文件,但是我收到此错误。 还有其他选择吗?
log_file:=UTL_FILE.FOPEN("P:\Documentation\Project Team\SA\CSR_Documentation\SHR-10500",'outputforDeleteStudentGroup.txt', 'W');
我不想说创建或替换目录,因为该目录已经存在。
请建议。
谢谢, 斯利拉姆
答案 0 :(得分:2)
CREATE OR REPLACE DIRECTORY
不会在操作系统级别创建目录。它创建一个Oracle目录对象。您希望创建一个指向操作系统级目录的Oracle目录对象。您可能会采用非常老派的方法修改UTL_FILE_DIR
初始化参数以包含P:\Documentation\Project Team\SA\CSR_Documentation\SHR-10500
并重新启动数据库,但这不是我建议的。
UTL_FILE.FOPEN
的第一个参数应该是一个字符串,这意味着它应该用单引号括起来而不是双引号。
P:\
驱动器是否存在于数据库服务器的文件系统中?或者它是由数据库服务器挂载的网络驱动器?或者它是客户端可用的目录吗?