2016-10-24 4 views
-1

나는 MySQL 데이터베이스에서 데이터를 시각화하기 위해 MS Access를 사용하고 있습니다. MySQL의 데이터에는 MS Access의 연속 양식에 표시되어야하는 일부 이미지가 포함되어 있습니다. MySQL 데이터베이스의 이미지는 BLOB 필드에 저장됩니다.Microsoft Access에서 MySQL-Server의 이미지를 표시하는 방법

MS 액세스에서 ODBC 드라이버를 통해 MySQL 테이블을 연결했는데 MS 액세스 테이블의 데이터를 볼 수 있지만 이미지를 표시하는 것은 쉬운 작업이 아닙니다.

나는 이것을보고는 단일 형태을 위해 좋은 일,하지만 지금까지 내가 그것을 연속 형태 사용할 수 없습니다 알고 : (

또한 일부 VBA 코드는 임시 파일에 BLOB를 덤프하고 양식 파일 경로를 참조하는, 거기 밖으로 니펫 :

나는 이미지의 전체 크기는 아마 다운로드 할 때마다 저장됩니다 약 500 MB, 때문에이 솔루션 정말 행복하지 않다!?

누구나이 이미지를 표시하는 좋은 방법을 알고 있습니까?

편집 : 나는 단지 그들이 연결된 테이블에 MS 액세스의 가져 오기 기능을 삽입하는 경우 이미지 (.BMP가) 형태로 표시 할 수있는 것을 깨달았다 . 그래서, 어떻게 든 MS Access에서 생성 된 생성 된 바이너리 파일은 Python으로 MySQL 데이터베이스에 업로드 할 때 내 이미지와 달라야 만합니다.

미리 감사드립니다.

+0

어쨌든 쿼리가 실행될 때마다 네트워크를 통해 500MB가 전송된다는 것을 알고 있습니까? * 네트워크 경로 *를 대신 이미지에 저장할 수없는 이유는 무엇입니까? –

+0

@ Mat'sMug 이걸 어떻게 달성 할 수 있는지 말해 줄 수 있어요!? 나는 MySQL 서버를 호스팅하지 않습니다. 그래서 ftp 나 ssh를 사용하여 이미지를 서버에 저장하고 BLOB 대신 MySQL 데이터베이스에 저장해야합니다! –

답변

0

. 그런 다음 상대 폴더 경로로 이미지를 쉽게 참조 할 수 있습니다.

-1

MS 액세스는 클라이언트 측 데이터베이스입니다. 이것이 의미하는 바는 질의를 실행할 때마다 로컬 PC에 파이프를 통해 의 모든 데이터를 가져오고 필요한 작업을 수행 한 다음 (필요한 경우) 데이터를 다시 서버에 푸시한다는 것입니다.

파이프를 통해 많은 양의 데이터를 가져 오면 응용 프로그램이 종료됩니다. 그리고 Access가 설명하는 파일을 처리 할 수있는 유일한 방법은 데이터 유형이 "첨부 파일"인 필드를 포함하는 경우입니다. 연결된 테이블로는이 작업을 수행 할 수 없습니다.

이 작업을 수행하는 가장 효율적인 방법은 이미지에 대한 네트워크 경로가있는 VarChar/Text 필드를 사용하는 것입니다. 그런 다음 해당 이미지의 경로를 기반으로 양식에 이미지를 가져올 수 있습니다. 이라면 정말 임베디드 이미지를 사용하고 싶다면 "Attachment"데이터 유형 필드가있는 표와 연결된 유형의 키를 연결하는 Key 유형이 필요합니다.

좀 더 정보를 원하시면 여기를보세요 : 나는, Google 드라이브에 이미지를 업로드하는 대신 데이터베이스에 BLOB로 저장하여 결국 한 https://support.office.com/en-us/article/Attach-files-and-graphics-to-the-records-in-your-database-bced3638-bfbc-43f0-822d-374bca2e6b40

+0

답장을 보내 주셔서 감사합니다. 네트워크 경로 옵션을 사용해 보겠습니다. –

+0

또한 모든 시스템에서 10 개의 행을 가져 오면 모든 10 개의 행이 클라이언트에 추가됩니다. 해당 클라이언트는 C#, vb.net, C++ 또는 기타 개발 시스템이 될 수 있습니다. 사실 웹 서버를 다룰 ​​때조차도 웹 서버는 주어진 SQL에 대해 요청 된 행을 항상 가져옵니다. 그러나 액세스 클라이언트의 경우에도 백만 개의 행 테이블에서 10 개의 행을 요청하면 10 개의 행만 가져옵니다. 가져 오는 행의 수는 C++, vb.net, C# 또는이 경우 Access로 작성된 소프트웨어를 사용하는 것과 다릅니다. –

+1

액세스가 어떻게 작동하는지 이해하지 못해 죄송합니다. 앨버트. 연결된 테이블이 있고 Access에서 쿼리를 실행하면 파이프 전체에서 전체 데이터 집합을 가져옵니다. –

관련 문제