2009-06-11 2 views
1

BLOB 필드 (Office의 .doc 파일 등)가 포함 된 Oracle 데이터베이스에서 데이터를 검색 할 때 웹 서비스를 통해 특정 항목을 보내야합니까?Webservice : BLOB 필드

문자열과 같이 보내지는 문자열을 바이트 배열로 변환하고 클라이언트 측의 .doc 파일을 다시 작성하기 위해 파일에 쓰려고합니다.

올바른 접근 방법은 무엇입니까?

+0

WCF 또는 기존 SOAP를 사용하고 있습니까? –

+0

전통적인 SOAP – pistacchio

답변

2

질문에서 분명하지 않지만 이 데이터베이스의 데이터 인을 가지고 있으며 이제는 웹 서비스에 노출해야합니다. SOAP 등에서는 byte[]을 반환하거나 DTO에 byte[]을 표시하는 것처럼 간단 할 수 있습니다. 필드가 큰 경우 MTOM (WSE3) 및/또는 웹 압축을 고려할 수 있습니다.

그렇다면 Oracle에서 BLOB를 어떻게 노출합니까? byte[]이 아닌 경우 LINQ의 Binary 클래스와 같은 것으로 데이터에 대한 캡슐화 된 액세스를 제공합니다 (이 경우 ToArray()). string을 노출하는 경우 으로 추측합니다 (베이스 64로 인코딩 됨). Convert.FromBase64String을 실행 해 볼 수 있습니다.

1

바이트 스트림을 base64로 인코딩해야합니다.