2016-11-08 7 views
1

오라클 데이터베이스에서 내 PC의 폴더에 액세스 할 수 있습니까? 즉 데이터베이스 내 로컬 컴퓨터에 설치되어 있지 않은 내가 'C : \의 LOB'내 PC에 폴더를 만든 내가 데이터베이스에서 검색 이미지를 저장할하지만 내가Ora-29283 오류 (11g)

ORA-29283 error: invalid file operation.

을 반환 내 데이터베이스의 디렉토리 폴더에서 볼 수 있기 때문에 디렉토리가 생성되었는지 확인하십시오. 그러면 문제가 될 수 있습니까? 내 PC에 폴더가 만들어지고 데이터베이스가 다른 곳입니까?

CREATE OR REPLACE PROCEDURE BLOB_UPDATE (file_name in varchar) IS 

    file_ref UTL_FILE.file_type; 
    raw_max_size constant number := 32767; 

begin 

    file_ref := UTL_FILE.fopen('MY_DIR', file_name, 'WB', raw_max_size); 
    -- Here it stops working ! -- 
    .... 
    utl_file.fclose(file_ref); 

END BLOB_UPDATE; 
+0

예 디렉토리를 생성 한 후 다음과 같이 액세스 권한을 부여했습니다. 권한 부여 읽기, 디렉토리 my_DIR에 my_user에 쓰기; –

답변

3

PL/SQL은 데이터베이스 시스템에서 실행되는, 즉 서버 : 다음은 내 절차입니다. 서버의 파일에만 액세스 할 수 있습니다. 그것은 당신의 PC에 파일을 수 없습니다.

Oracle에서 디렉토리를 정의하고 충분한 액세스 권한을 사용자에게 부여한 경우에도 Oracle은 사용자의 PC가 아닌 서버에서 C:\LOB에 액세스하려고하기 때문에 실패합니다.

달성하려는 것은 서버 측에서 해결할 수 없습니다. 즉 PL/SQL에서 해결할 수 없습니다. 클라이언트 측 (예 : PC)에서 실행되는 코드를 작성해야합니다 (예 : 일부 Java 또는 .NET 프로그램.

+0

예 데이터베이스에서 데이터 검색을 저장하고 .NET을 통해 C : \ LOB에 이미지로 저장할 수있었습니다. 신고 해 주셔서 감사합니다. –