2013-05-23 5 views
1

Access 데이터베이스의 첨부 파일 필드에 PDF 파일을 저장 한 경우 어쨌든 데이터베이스에서 해당 첨부 파일을 가져 와서 WinForm에서 볼 수 있습니까? 아니면 WinForm WebBrowser일까요?WinForms 및 Access 데이터베이스 첨부 파일

아니면 WebBrowser를 탐색 할 수 있도록 파일의 파일 경로를 알려주는 데이터베이스 필드를 고수하는 것이 더 낫습니다.

답변

0

Access 2007에서 첨부 파일 필드 유형이 도입되기 오래 전부터 Access와 함께 작업 해 왔기 때문에 데이터베이스에 이미지 및 문서를 묻어 버린 역사가 있습니다. (그들은 데이터베이스를 아주 크게 부 풀리는 경향이 있었고, 파일에 추가 된 OLE "래퍼"는 코드를 통해 파일을 추출하려고 할 때 정말 불편했습니다.) Access 2007+는 첨부 파일을 사용하여 훨씬 간단 해졌습니다. DAO가 첨부 파일에 .SaveToFile.LoadFromFile을 지원하도록 업데이트 되었기 때문에 또한 첨부 파일은 데이터베이스에 저장 될 때 (분명히) 압축되므로 확장 문제에 도움이됩니다.

WinForm에서 PDF 첨부 파일을 보거나 (미리 보거나 열려고하는 경우) Microsoft.Office.Interop.Access.Dao을 사용하여 파일을 저장하려고 할 수 있으므로 선택의 자유는 여러분에게 달렸습니다. 어쨌든 임시 파일로 첨부하십시오. 따라서 첨부 파일을 미리보고/열거 나 열 때 사용하는 메커니즘은 파일에서 작동합니다. 이 중

  • 데이터베이스에서 추출 된 임시 파일, 또는

  • 데이터베이스의 경로 또는 URL에서 참조하는 파일 시스템에서 영구적 인 파일이 될 것입니다.

0

데이터베이스에서 파일을 읽으려면 데이터베이스에서 바이트를 읽고 새 pdf 파일에 기록한 다음 뷰어에서 해당 파일을 가리켜 야합니다. WinForm에서 직접 pdf를 보려면 타사 컨트롤이 필요합니다. 브라우저에서 pdfs를 볼 수있는 플러그인이 있으면 WinForm WebBrowser가 작동합니다.

데이터베이스에 경로 만 저장하면 코딩 관점에서 불편 함이 줄어 듭니다. 뷰어를 파일로 지정해야하기 때문입니다. 또한 데이터베이스에 문제가 있기 때문에 모든 첨부 파일이 손실 될 확률이 더 큽니다. 플립 사이드에서 경로가 저장되는 경우 해당 경로가 항상 액세스 가능한지 확인해야합니다.

위의 이유로 데이터베이스 외부에 저장하는 것이 좋습니다. 특히 이것이 더 큰 데이터베이스 인 경우 더욱 그렇습니다.

관련 문제