2009-08-07 4 views
1

우리는 Oracle OAS 서버에서 실행되는 Oracle 10g 양식 응용 프로그램을 IE에 양식이 표시되도록했습니다. 애플리케이션의 일부는 오라클의 webutil 유틸리티를 사용하여 PC에서 OAS 서버로 파일 (주로 Word 문서 및 PDF)을 업로드 및 다운로드하는 작업입니다.OAS 서버에서 대용량 파일을 PC로 다운로드

문제는 대용량 파일 (25Megs 이상) 때문에 시간이 오래 걸리고 때로는 많은 시간이 걸릴 수 있습니다. 대용량 파일 인 경우에도 업로드가 작동하는 것으로 보입니다. 그러나 큰 파일을 다운로드하면 다운로드를 통해 오류가 발생할 수 있습니다.

저는 개발 시스템에서 189Meg 파일로 테스트 해 왔습니다. WEBUTIL_FILE_TRANSFER.Client_To_DB (또는 Client_To_DB_with_Progress)을 사용하면 약 24Megs 후에 다운로드가 오류가 발생합니다. WEBUTIL_FILE_TRANSFER.URL_To_Client_With_Progress으로 전환하여 전체 파일을 다운로드했지만 마침내 22 분이 걸렸습니다. 진행률 표시 줄을 사용하지 않으면 18 분이 경과되었지만 여전히 길었습니다.

브라우저에 파일을 표시 할 수 있으며 약 5 초 안에 테스트 파일이 표시되지만 편집을 위해 많은 파일을 다운로드 한 다음 다시 업로드해야합니다.

이 업로드 및 다운로드를 더 빨리 수행하는 방법에 대한 의견이 있으십니까? 이 시점에서 나는 webutil을 사용하든 사용하지 않든 거의 모든 아이디어에 대해 개방적입니다. 적어도 다소 오라클 고유의 솔루션을 선호하지만, 제안 사항은 없습니다.

덕분에, AndyDan

+0

OAS에서 사용중인 webcache가 빠른 질문입니까? –

+0

예, 그렇습니다. 그래도 무슨 뜻인지는 모르겠다. – AndyDan

+0

webcache를 사용하는 oas를 통해 양식에 액세스 할 때 일부 webutil 기능에 성능 문제가있는 것 같습니다 (사용자가 언급하지는 않지만). metalink에 대한 액세스 권한이있는 경우 참고 : 330852.1 또한 metalink note : 443405.1 Oracle Forms와 함께 웹 캐시를 사용하면 성능이 저하 될 수도 있습니다. webutil을 사용하여 다운로드하지 않았습니다. 대용량 파일이므로 야생 거위 추격전에서 당신을 보냈지 만, 사용하지 않는 환경에서 시도해 볼만한 가치가 있다고 생각합니다. –

답변

0

CLIENT_HOST를 사용하여 FTP 명령을 호출하여 파일을 다운로드했습니다.내 189MB 테스트 파일은 WEBUTIL_FILE_TRANSFER.URL_To_Client_With_Progress을 사용하여 다운로드하는 데 20-22 분이 걸렸으며 FTP를 사용하면 약 20 초 밖에 걸리지 않았습니다. FTP 암호가 PC에 일시적으로 노출되어 있기 때문에 다운로드하는 데 걸리는 시간 동안 만 해당 암호를 찾아야하므로 사용자가 그 암호를 찾을 수 있어야하므로 최상의 솔루션은 아닙니다.

그래서 지금은이를 구현하고 있으며보다 안전하지만 성능이 우수한 장기적인 솔루션을 찾고 있습니다.

0

이 완전히 점심에 맞지 않을 수도 있지만 도움이 될 어떤 생각을 찾고 있기 때문에, 여기에 광산이다.

우선, 파일의 실제 편집이 브라우저 외부에서 발생하고 파일을 앞뒤로 가져 오는 더 나은 방법을 찾고 있다고 가정합니다.

그런 경우, 과거에 사용한 적이있는 한 가지 옵션은 Apache 또는 원하는 바닐라 웹 서버를 사용하여 웹 응용 프로그램을 둘러 보는 것입니다. 다운로드하려면 고유 한 파일 세션 토큰을 만들어 웹 응용 프로그램에서 기억하고 토큰 (예 : < 고유 토큰 >.doc)의 파일 이름을 Apache에서 볼 수있는 다운로드 디렉토리에 저장합니다. 그런 다음 Apache를 통해 제공 될 파일에 대한 링크를 제공하십시오.

업로드 할 때 몇 가지 옵션이 있습니다. 하나는 당신이 가지고있는 메커니즘을 사용하는 것입니다, 그리고 나서 파일이 업로드 될 때 파일을 다시 아카이브에 패치하기 위해 이름의 토큰과 일치시켜야합니다. 또는 응용 프로그램과 별도로 매우 간단한 파일 업로드 양식을 작성하여 Apache를 통해 임시 디렉토리에 파일을 업로드 한 다음 사용자를 응용 프로그램으로 다시 라우팅하고 URL HTTP GET 스타일 또는 다른 위치에 토큰을 제공 할 수 있습니다. 쿠키.

모든 문제가 발생하기 전에 바닐라 웹 서버가 현재 솔루션보다 업로드 및 다운로드 속도와 안정성이 향상되는지 확인해야합니다.

제쳐두고, 사용하는 응용 프로그램 서버가 HTTP 압축을 제공하는지 여부는 알 수 없지만 HTTP 압축을 제공하는지 여부는 사용 가능하고 작동하는지 확인해야합니다. 이것은 대용량 파일의 전송 속도를 높이기 위해 할 수있는 최선의 방법이며, 상당히 압축 할 수 있다고 가정합니다. 응용 프로그램 서버에서 지원하지 않으면 바닐라 웹 서버가됩니다.

도움이 되었기를 바랍니다.

+0

재 디자인의 양은 완전히 최후의 수단이 될 것이지만, 아이디어에 감사드립니다. 나는 HTTP 압축을 조사하고 이것이 가능하도록 만들고있다. 내가 알려 주마. – AndyDan